Probar expresiones regulares online — Regex JavaScript
Probador de regex JavaScript con flags, resaltado, tabla de grupos y vista previa del reemplazo
Funciona en tu navegador · no se sube nada
Qué es
Es muy fácil equivocarse por poco con una expresión regular. Escribe un patrón y un texto y esta herramienta te muestra al instante dónde coincide, marca cada coincidencia en color y enumera todas con su posición y sus grupos de captura. Añade una cadena de reemplazo para ver cómo queda el texto sustituido.
Cómo se usa
- Escribe el patrón sin las barras que lo rodean (si pegas un
/patrón/gicopiado del código, se separa en patrón y flags), por ejemplo(\d+)-(?<word>[a-z]+). - Marca los flags que necesites.
g, que busca todas las coincidencias, viene activado. - Pega el texto de prueba. Las coincidencias se resaltan y la tabla muestra la posición y los grupos de cada una.
- En el campo de reemplazo usa
$1,$<name>o$¶ ver el resultado y cópialo. Para borrar todas las coincidencias, activa Mostrar el reemplazo y deja el campo vacío.
Cómo funciona
- Flags:
gglobal,isin distinguir mayúsculas,mhace que^y$funcionen por línea,spermite que.coincida con saltos de línea,uactiva el modo Unicode,ysolo busca en la posición actual (sticky). - Sin
gsolo se devuelve la primera coincidencia. Congeya la vez, solo se encuentran las coincidencias que van seguidas sin huecos. - Las coincidencias vacías (
a*,^, el patrón vacío) hacen avanzar la posición un carácter y la búsqueda continúa; conu, el paso es un punto de código completo. - La sintaxis de reemplazo es la de
String.prototype.replace:$$,$&,$`,$', de$1a$99y$<name>. - Protecciones: como máximo 1000 coincidencias, 200.000 caracteres de texto y 5000 de patrón, más un límite de ejecución de 1,5 segundos. El límite funciona ejecutando la búsqueda en un Web Worker y deteniéndolo, por eso la página principal nunca se congela.
Ejemplos
| Patrón | Flags | Texto | Resultado |
|---|---|---|---|
\d+ |
g | a1 b22 c333 |
1, 22, 333 |
[a-záéíóúüñ]+ |
g | año café 123 |
año, café |
a* |
g | baac |
cuatro coincidencias, en las posiciones 0, 1 (aa), 3 y 4 |
(?<y>\d{4})-(\d{2}) |
2024-05 |
grupo 1 y = 2024, grupo 2 = 05 |
Notas
[a-z]no incluye letras acentuadas ni la ñ, así que añádelas a la clase o usa\p{L}con el flagupara cualquier letra. Los emojis se pueden buscar con el flaguy\p{Emoji_Presentation}.- Tu patrón y tu texto nunca se envían a un servidor.
Preguntas frecuentes
¿Qué sabor de regex usa?
El motor de expresiones regulares de JavaScript (ECMAScript) de tu propio navegador, así que la sintaxis difiere en algunos puntos de Python, PCRE o Java. No hay cuantificadores posesivos ni flags en línea como (?i), y los grupos con nombre se escriben (?<nombre>...).
¿Qué pasa si un patrón tarda demasiado?
La búsqueda se ejecuta en un Web Worker aparte que se detiene a los 1,5 segundos. Una repetición anidada como (a+)+$ puede volverse exponencialmente lenta con una entrada solo un poco más larga (backtracking catastrófico). Si ocurre, verás un mensaje y la página seguirá respondiendo.
¿Hay límites de coincidencias o de longitud del texto?
Se muestran las primeras 1000 coincidencias, el texto puede tener hasta 200.000 caracteres y el patrón hasta 5000. Por encima de eso, la lista se recorta o aparece un mensaje.
¿Un patrón que coincide con la cadena vacía puede quedarse en bucle?
No. Tras una coincidencia vacía, la posición de búsqueda (lastIndex) avanza un carácter, así que el bucle siempre termina. Con el flag u avanza un punto de código completo, de modo que un emoji nunca se parte.