Por qué regex es difícil de aprender
Las expresiones regulares (Regex) parecen un 'lenguaje alienígena', una cadena de símbolos que marea. Pero su capacidad para procesar texto es insustituible: validar emails, extraer datos, sustituir en lote, unas líneas de regex equivalen a decenas de líneas de código. La clave es dominar los patrones comunes y poder consultarlos cuando haga falta, no hace falta memorizarlos todos.
Tabla de consulta rápida de regex común
De validación
| Uso | Patrón regex |
|---|---|
| ^[\w.-]+@[\w.-]+.\w+$ | |
| Móvil (China continental) | ^1[3-9]\d{9}$ |
| URL | ^https?://[\w.-]+(:\d+)?(/.*)?$ |
| Número de identidad (18 dígitos) | ^\d{17}[\dXx]$ |
| Dirección IP | ^(\d{1,3}.){3}\d{1,3}$ |
De extracción
| Uso | Patrón regex |
|---|---|
| Extraer todos los números | \d+ |
| Extraer contenido de etiquetas HTML | <(tag)>(.*?)</\1> |
| Extraer enlaces | https?://[\w./?=&%-]+ |
| Extraer chino | [\u4e00-\u9fa5]+ |
De sustitución
| Uso | Regex → sustitución |
|---|---|
| Eliminar líneas en blanco | Saltos de línea consecutivos+espacios → salto único |
| Enmascarar móvil | Sustituir los cuatro dígitos centrales por **** |
| camelCase a snake_case | Añadir guion bajo antes de mayúsculas |
Herramienta de prueba de regex de DocsAll
Depura en tiempo real con la herramienta de prueba de regex:
- Abrir la herramienta de prueba de regex
- Introducir la expresión regular, elegir banderas (g global, i ignorar mayúsculas, m multilínea)
- Pegar el texto de prueba
- Ver los resultados de coincidencia resaltados en tiempo real
Escribir y probar al mismo tiempo es mucho más eficiente que escribir a ciegas. Para más fundamentos de regex consulta el tutorial de expresiones regulares.
Mnemotecnia de metacaracteres comunes
- . cualquier carácter (excepto salto de línea)
- \d dígito, \w letra dígito guion bajo, \s espacio en blanco
- ^ inicio de línea, $ fin de línea
- * 0 o más veces, + 1 o más veces, ? 0 o 1 vez
- {n,m} de n a m veces
- [] conjunto de caracteres, () grupo, | o
Consejos de depuración
Prueba por segmentos
Escribe las regex complejas segmento a segmento, prueba cada vez que añadas un segmento, y localizar el problema será más fácil.
Aprovecha la coincidencia no voraz
La coincidencia voraz captura demasiado, la no voraz (añadir ? tras el cuantificador) captura lo mínimo y se usa mucho al extraer contenido.
Cuidado con el escape
Para coincidir con metacaracteres como ., *, ? hay que escaparlos con barra invertida; para coincidir con un punto usa .
No dependas en exceso de regex
Parsear HTML/JSON complejo con regex es propenso a errores; usa un parser cuando haga falta. Regex es adecuado para la coincidencia de texto con reglas claras.
Recomendación
Organiza las regex de uso común en tu propia tabla de consulta y, cuando lo necesites, copia y modifica. Con una herramienta de prueba para verificar en tiempo real, regex no es tan difícil.