Prueba el patrón y revisa coincidencias o reemplazos. La ayuda de IA opcional envía descripción, patrón e indicadores a DeepSeek tras tu confirmación.
Describe la regla de coincidencia o revisa el patrón actual. El texto de prueba permanece en tu navegador.
—
El probador ejecuta un patrón sobre el texto de ejemplo con el mismo motor que usa tu navegador, así que lo que coincide aquí coincide también en tu aplicación. Además de la lista de coincidencias ves los indicadores activos, los grupos de captura y una previsualización de la sustitución.
Los patrones son de JavaScript (ECMAScript), no de PCRE ni de Python. Los dialectos se solapan mucho, pero no del todo, y esa es la causa más frecuente de que un patrón que funciona en otro sitio falle aquí. Los patrones preparados para correo, URL, IPv4, UUID, fecha, hora, color hexadecimal y números están a un clic.
Es ECMAScript. Los grupos con nombre (?<nombre>...), las aserciones de retroceso (?<=...) y (?<!...) y las clases Unicode como \p{Letter} con el indicador u funcionan en los navegadores actuales. Los cuantificadores posesivos, los grupos atómicos, la recursión, los anclajes \A y \Z y los modificadores en línea como (?i) no existen en este lenguaje.
Esas diferencias rompen los patrones escritos para Python, PHP o Java: (?P<nombre>...) se escribe aquí (?<nombre>...), \Z se sustituye por $ y los modificadores salen del patrón a las casillas. Con esos tres cambios se resuelve la mayoría de los casos reales.
La búsqueda global devuelve todas las coincidencias en lugar de detenerse en la primera, y es también lo que hace que una sustitución se aplique a todo el texto y no solo al primer acierto. Ignorar mayúsculas y minúsculas hace que las letras coincidan en cualquier combinación. Multilínea permite que ^ y $ coincidan en los saltos de línea internos, no solo al principio y al final de la cadena.
El punto incluye saltos de línea deja que un punto consuma el salto, lo que se necesita para buscar un bloque completo de texto. El modo Unicode pasa a semántica de puntos de código: un punto coincide con el emoji entero y no con la mitad, y habilita las clases \p{...}.
Los grupos de captura se numeran por el orden en que se abren sus paréntesis; un grupo sin captura (?:...) no ocupa número, útil cuando solo quieres agrupar una alternancia. Los grupos con nombre se referencian en la sustitución como $<nombre>, mucho más legible que $3 cuando el patrón crece.
En el texto de sustitución, $1 a $99 insertan grupos capturados, $& inserta la coincidencia completa y $$ inserta un dólar literal. Ojo con los cuantificadores anidados como (a+)+ sobre entradas largas que casi coinciden: pueden explorar un número exponencial de caminos y colgar la página.
No. Las coincidencias y las sustituciones se calculan en tu navegador con el motor de JavaScript, y los botones de la herramienta no hacen ninguna petición de red. La única excepción es el panel de IA opcional: tras marcar la casilla de consentimiento envía a DeepSeek solo la descripción que escribes, el patrón actual y sus indicadores, nunca el texto de ejemplo.
Porque el dialecto es distinto. Python escribe los grupos con nombre como (?P<nombre>...) y admite \Z; Java y PCRE tienen cuantificadores posesivos y grupos atómicos; PHP permite modificadores como (?i). ECMAScript no incluye nada de eso, así que el patrón hay que traducirlo en lugar de copiarlo.
Porque la búsqueda global está desactivada. Sin ese indicador la sustitución se detiene en el primer acierto, igual que String.prototype.replace con un patrón no global; para reemplazar todo el texto hay que marcar la casilla Global.
Global: todas las coincidencias y todos los reemplazos, no solo el primero. Ignorar mayúsculas: las letras coinciden en cualquier caja. Multilínea: ^ y $ también coinciden en los saltos de línea internos. El punto incluye saltos de línea: un punto puede consumir un salto. Unicode: semántica de puntos de código, un emoji cuenta como un solo carácter y se habilitan las clases \p{...}.
La posición es el índice donde empieza la coincidencia y se cuenta desde 0. Los grupos de captura se listan numerados ($1, $2...) y entre comillas, y un grupo con nombre aparece además con su nombre. Si un grupo opcional no participa en la coincidencia se muestra vacío, que es justo lo que se necesita para depurar el patrón.
$1 a $99 insertan el grupo correspondiente, $& inserta toda la coincidencia, $<nombre> inserta un grupo con nombre y $$ inserta un dólar literal. Recuerda que, igual que en JavaScript, sin la casilla Global solo se sustituye la primera coincidencia.