Probador de regex
Prueba expresiones regulares con resaltado de coincidencias y grupos en vivo
Sobre esta herramienta
Escribe un patrón, pega texto de muestra, y cada coincidencia se resalta mientras escribes — con grupos de captura, grupos con nombre y posiciones de coincidencia listados debajo. El probador usa el motor RegExp de JavaScript, así que el comportamiento coincide exactamente con lo que harán Node.js y los navegadores, incluidos lookbehind, grupos con nombre y escapes de propiedades Unicode.
Las flags se activan por letra (g, i, m, s, u, y, d) y el patrón se compila con cada pulsación; los errores de sintaxis aparecen de inmediato con el mensaje propio del motor, no después de pulsar un botón. Los patrones de coincidencia vacía como a* se manejan con seguridad, y las entradas desbocadas se limitan a 10,000 coincidencias para que un .* perdido no pueda congelar la pestaña.
Los dialectos de regex difieren entre motores — un patrón que funciona aquí puede necesitar ajustes para PCRE, RE2 o el módulo re de Python, sobre todo en soporte de lookbehind, cuantificadores posesivos y flags en línea.
Preguntas frecuentes
- ¿Qué sabor de regex usa este probador?
- ECMAScript (JavaScript), tal como lo implementa tu propio navegador. Soporta lookahead, lookbehind, grupos de captura con nombre, retrorreferencias y escapes de propiedades Unicode como \p{Letter} (con la flag u). No soporta sintaxis exclusiva de PCRE como cuantificadores posesivos o recursión.
- ¿Por qué mi patrón coincide con todo / con nada?
- Las dos causas clásicas: un metacarácter sin escapar (. coincide con cualquier carácter — escápalo como \. para un punto literal), o una flag g olvidada mentalmente — este probador siempre encuentra todas las coincidencias, pero tu código solo encontrará la primera a menos que g esté activada.
- ¿Qué son los grupos de captura con nombre?
- La sintaxis (?<name>...) etiqueta un grupo para que puedas leer las coincidencias por nombre en lugar de por posición: match.groups.name en JavaScript. El panel de grupos bajo las coincidencias muestra tanto las capturas numeradas como las nombradas de cada coincidencia.
- ¿Una regex de aquí funciona sin cambios en Python o Go?
- A menudo, pero no siempre. Las clases de caracteres, cuantificadores y anclas son portables; el lookbehind, la sintaxis de grupos con nombre (Python usa (?P<name>...)) y las flags en línea difieren. El motor RE2 de Go además rechaza por completo las retrorreferencias y el lookaround.