Regex Tester
Test regular expressions
Test regular expressions Se ejecuta localmente en su navegador
About the
Regex Tester ejecuta una expresión regular de JavaScript con su propio texto de muestra y resalta cada coincidencia a medida que escribe, para que pueda observar cómo un patrón tiene éxito o falla en lugar de adivinar. Junto a los aspectos destacados, enumera cada coincidencia con su posición inicial y sus grupos de captura, que es la parte que realmente le indica si el grupo 2 es el valor que deseaba o una cadena vacía. Tres errores causan la mayoría de las expresiones regulares rotas, y los tres son visibles aquí: un cuantificador codicioso que traga silenciosamente más texto del previsto, un punto sin escape que coincide con cualquier cosa y una bandera global faltante que detiene la búsqueda después del primer resultado.
Where people use the
- Depurar un patrón de análisis de registros con un puñado de líneas de registro reales.
- Elaborar una regla de teléfono o código postal antes de conectarlo a un formulario.
- Extracción de números de pedido o ID de un bloque de texto pegado.
- Aprender cómo se comportan los cuantificadores cambiando un carácter y observando cómo se mueven los aspectos más destacados.
How to use the
- 1
Pega el texto que deseas probar.
Utilice una muestra real en lugar de una inventada. Los casos extremos en sus datos reales son los que rompen el patrón, así que incluya una línea que tampoco debería coincidir.
- 2
escribe el patrón
Introduzca la expresión sin las barras diagonales circundantes, por ejemplo, [a-z]+ en lugar de /[a-z]+/. Las banderas son palancas separadas.
- 3
Activar o desactivar banderas
g encuentra cada coincidencia en lugar de detenerse en la primera, i ignora mayúsculas y minúsculas, m hace que los anclajes funcionen por línea, s permite que un punto abarque nuevas líneas, u habilita el modo Unicode completo y y ancla coincidencias con lastIndex.
- 4
Leer la tabla de partidos
Cada resultado muestra el texto coincidente, su desplazamiento de caracteres y cada grupo de captura. Un grupo vacío inesperado generalmente significa que un cuantificador opcional no coincide con nada.
- 5
Copia el patrón terminado
Cuando los aspectos destacados se vean bien, copie la expresión y péguela en su código, recordando llevar también las banderas.
Consejos y mejores prácticas
- Pruebe una regla por patrón. Una expresión regular que realiza tres trabajos es ilegible e imposible de depurar.
- Incluye una línea que no debe coincidir y confirma que no esté resaltada.
- Prefiera grupos con nombres, como año, mes, día, a los numerados, para que el patrón aún signifique algo cuando regrese a él el próximo mes.
Preguntas frecuentes
¿Qué sabor de expresión regular usa esto?
JavaScript, a través del motor RegExp propio del navegador. La sintaxis es similar a PCRE y al módulo re de Python, pero no es idéntica. Los grupos con nombre, la búsqueda anticipada, la búsqueda hacia atrás y los escapes de propiedad Unicode funcionan en los navegadores actuales.
¿Por qué mi patrón coincide con mucho más texto del que esperaba?
Porque los cuantificadores son codiciosos por defecto. Algo como .* o [0-9]+ consumirá tanto como pueda y al mismo tiempo permitirá que el resto del patrón coincida. Agregue un signo de interrogación para que sea más perezoso, entonces.*? o [0-9]+? se detiene a la primera oportunidad.
¿Por qué solo obtengo un resultado?
La bandera global está apagada. Sin g, el motor devuelve la primera coincidencia y se detiene. Alterna g para recopilar todas las coincidencias en la entrada.
¿Por qué mi ancla no funciona en la segunda línea?
De forma predeterminada, los anclajes de cursor y dólar se refieren al inicio y al final de toda la cadena, no a cada línea. Habilite la bandera m para que tengan en cuenta las líneas.
¿Se envían mis datos de prueba a alguna parte?
No. La coincidencia ocurre en su navegador con el objeto RegExp incorporado. No se carga nada, por lo que puedes pegar de forma segura líneas de registro reales o fragmentos de configuración.
¿Puedo usar esto para validar la entrada en un formulario?
Puedes desarrollar el patrón aquí, pero siempre validarlo nuevamente en el servidor. La expresión regular del lado del cliente es una comodidad para el usuario, nunca un control de seguridad, porque se puede omitir por completo.