Cómo probar una expresión regular
- Escribe tu patrón en el recuadro Expresión regular, sin las barras de los extremos. Al abrir la herramienta ya hay cargado un patrón de ejemplo que encuentra direcciones de correo.
- Elige las banderas tocando g, i, m, s, u o y. Las banderas activas aparecen después de la barra de cierre.
- Pega tu texto en Texto de prueba. Cada coincidencia se resalta en el bloque Coincidencias en tu texto, con el total arriba.
- Si quieres, agrega un reemplazo, como
$1o$<name>, para ver cómo queda el texto después de reemplazar. - Revisa el detalle de coincidencias: la tabla muestra la posición de cada coincidencia y el valor de cada grupo de captura.
Características
- Resaltado en vivo de las coincidencias mientras escribes.
- Las seis banderas de JavaScript: global, ignorar mayúsculas, multilínea, punto que incluye saltos de línea, Unicode y fija (sticky).
- Grupos de captura en una tabla, con los grupos con nombre bajo su propio nombre.
- Vista previa del reemplazo con
$1,$<name>y$&, y un botón de copiar. - Número de coincidencias y posiciones, con las primeras 1000 listadas.
- Protección contra patrones descontrolados: la evaluación corre en un Web Worker y se detiene a los 1.5 segundos.
- Mensajes de error del propio motor cuando un patrón no es válido, por ejemplo por un grupo sin cerrar.
Por qué usar el probador de regex de Fileora
Los datos de prueba muchas veces son datos reales: registros de servidor, exportaciones de clientes, listas de correos. Fileora ejecuta la expresión regular en tu navegador, así que nada de eso sale de tu dispositivo. Es gratis, no pide registro y los botones de las banderas son lo bastante grandes para usarlos cómodamente en el celular.
Como el probador usa el mismo motor que tu código JavaScript, no te llevarás sorpresas al copiar el patrón a tu proyecto.
Guía rápida de regex en JavaScript
.cualquier carácter menos un salto de línea (cualquiera sin excepción con la bandera s)\d,\w,\sun dígito, un carácter de palabra (letra sin acento, dígito o guion bajo), un espacio en blanco\D,\W,\Slo contrario de cada uno de los anteriores[abc],[^abc],[a-z]un carácter de un conjunto, fuera de un conjunto o dentro de un rango^y$inicio y fin del texto, o de cada línea con la bandera m\bun límite de palabra*,+,?cero o más, una o más, cero o una vez{3},{2,5}exactamente 3 veces, o entre 2 y 5 veces*?,+?versiones perezosas, que coinciden con lo menos posible(abc)un grupo de captura;(?:abc)un grupo que no captura(?<anio>\d{4})un grupo con nombre, que se usa como$<anio>en un reemplazoa|ba o b(?=x),(?!x)seguido de x, no seguido de x(?<=x),(?<!x)precedido de x, no precedido de x\p{L}cualquier letra de cualquier alfabeto, con la bandera u, útil para textos con acentos y eñes
Cómo evitar patrones lentos
El retroceso catastrófico suele venir de un grupo repetido que contiene otra repetición, como (a+)+ o (\w+\s?)*. Haz que cada parte coincida con algo distinto, ancla el patrón con ^ y $ cuando puedas y prefiere clases de caracteres específicas en lugar de .*.
Para revisar el efecto de un reemplazo en un archivo largo, compara el antes y el después con el comparador de textos, y ordena el JSON que extraigas con el formateador JSON.