Probar expresiones regulares

Prueba una expresión regular y resalta lo que coincide. Ve al momento el contenido de los grupos y el resultado del reemplazo.

Expresión regular y texto

Flags

0 caracteres · 0 líneas

Resultado

Qué mostrar

Escribe una expresión regular y un texto, y las coincidencias se resaltarán.

Todo se procesa en este dispositivo. Lo que escribes no se envía a ningún sitio.

Usa las expresiones regulares de JavaScript (del navegador). La sintaxis puede variar un poco respecto a Python, PHP, Java, etc.

¿Te resultó útil? Nos encantaría que lo compartieras

¿Algo no funciona o tienes una idea para mejorarlo?

Cómo se usa

  1. 1. Escribe la expresión regular

    Escribe lo que quieres buscar en «Expresión regular». Los símbolos incómodos de teclear, como \d o [ ], se insertan donde está el cursor tocando los botones de debajo del cuadro. También puedes partir de un patrón, como un correo o una fecha, en «Elegir un patrón habitual». Toca «Significado», arriba a la derecha del cuadro, para ver con qué coincide cada parte.

  2. 2. Introduce el texto

    Pega o escribe el texto en «Texto de prueba» (toca «Ejemplo» para cargar un texto de ejemplo). Al instante, las coincidencias se resaltan en «Resultado», debajo, y aparece cuántas hay.

  3. 3. Cambia las flags y revisa la lista

    Desactiva «g Todas» en «Flags» para buscar solo la primera coincidencia (actívala de nuevo para buscarlas todas). La «Lista de coincidencias», debajo, muestra la posición de cada una y el contenido de sus grupos ($1, <year>, etc.). Toca una fila para seleccionar ese lugar en el texto de arriba.

  4. 4. Extrae solo las coincidencias

    Elige «Extraer» encima de «Resultado» y las coincidencias aparecen una por línea. Si hay grupos, puedes quedarte solo con uno, como <year>, en el selector «Coincidencia completa». Activa «Quitar duplicados» para juntar las repetidas; «Copiar lo extraído» las copia y «Guardar como texto» las guarda en un archivo.

  5. 5. Prueba un reemplazo y cópialo

    Elige «Reemplazar» encima de «Resultado» y escribe algo como $<day>/$<month>/$<year> en «Reemplazar por»: el texto reemplazado aparece al momento. Toca «Copiar el resultado» para copiarlo.

Ideal para

  • Comprobar que tu expresión regular funciona

    Antes de ponerla en tu código, ves de un vistazo, por los colores, si coincide justo con lo que buscas y con nada más. Cuando esté lista, elige un lenguaje como Python, PHP o Go y cópiala en un formato listo para pegar en tu código.

    Desarrolladores web y quienes aprenden a programar

  • Entender una expresión regular escrita por otra persona

    Pega la expresión de un código heredado o de un artículo y pulsa «Significado»: verás en pocas palabras con qué coincide cada parte, como «Un dígito, 4 veces».

    Quienes leen código y quienes aprenden a programar

  • Extraer datos con un formato fijo de logs o tablas

    Busca correos, fechas o números de pedido, ponlos uno por línea con «Extraer» y cópialos o guárdalos en un archivo de texto.

    Quienes analizan datos y equipos de soporte

  • Reunir solo la parte de un grupo, sin duplicados

    Extrae solo lo que va entre ( ), como el dominio de un correo o el host de una URL. Con «Quitar duplicados» activado, lo que se repite muchas veces aparece una sola vez.

    Quienes analizan datos y responsables web

  • Probar un reemplazo antes de aplicarlo a todo

    Antes de un reemplazo masivo en tu editor u hoja de cálculo, comprueba el resultado con $1 y compañía.

    Quienes ordenan textos y tablas

  • Crear la validación de un formulario

    Ajusta la expresión que valida un código postal o un teléfono probándola con todo tipo de entradas.

    Quienes crean formularios

Antes de usarlo

  • Usa las expresiones regulares de JavaScript. La sintaxis exclusiva de Python, PHP, Java o .NET (cuantificadores posesivos como ++, (?i), etc.) no funciona.
  • Al copiar en el formato de otro lenguaje, se corrige la sintaxis que cambia siempre que se puede. Lo que no se puede corregir (como el lookbehind en Go) se avisa con una línea, así que pruébala también en ese lenguaje.
  • Si una expresión tarda demasiado, se detiene a los 2 segundos y te avisa. En ese caso, reduce las repeticiones anidadas.
  • La lista muestra las primeras 300 coincidencias, y se resaltan y extraen las primeras 5.000 (el total se cuenta siempre entero).

Sobre el tester de expresiones regulares

Una expresión regular describe la forma de un texto, como «cuatro dígitos seguidos» o «letras y números a ambos lados de una @», con símbolos breves como \d{4} o [\w.]+@[\w.]+. Se usa para buscar, reemplazar y validar en muchos programas y editores, pero basta un pequeño error para que coincida con algo distinto de lo que querías.

Esta herramienta comprueba la expresión con el motor de JavaScript del navegador cada vez que escribes y resalta las coincidencias. También muestra, para cada una, el contenido de los grupos (lo que va entre ( )) y de los grupos con nombre ((?<nombre>…)), para que compruebes que extraes justo lo que necesitas. Incluso las expresiones que no terminan nunca, como (a+)+, se ejecutan aparte y con límite de tiempo, para que la página no se congele.

Qué hace cada flag
Al activarlaIdeal para
g (Todas)Busca todas las coincidenciasExtraer, reemplazar todo
i (Ignorar mayúsculas)Trata A y a como la misma letraBuscar palabras
m (Por línea)^ y $ coinciden con el inicio y el final de cada líneaComprobar línea a línea, logs
s (. y saltos de línea). también coincide con los saltos de líneaFragmentos de varias líneas
u (Unicode)Trata los emojis como un carácter y permite \p{…}Textos con acentos, kanji o emojis

Preguntas frecuentes

Respuestas a las dudas más habituales al probar expresiones regulares.

¿Se envían mi texto o mi expresión regular a algún sitio?

No. Todo se comprueba en el navegador de tu dispositivo, y ni el texto ni la expresión se envían a un servidor ni se guardan. Puedes usarlo incluso con logs internos o textos con datos personales.

¿Qué tipo de expresiones regulares usa?

Las de JavaScript (el RegExp del navegador). Admite grupos con nombre (?<nombre>…), lookbehind (?<=…), \p{…} (con la flag u) y más. Los detalles de sintaxis pueden variar respecto a Python, PHP, Java, etc., así que, si la vas a usar en otro lenguaje, consulta también su documentación.

¿Puedo usarla en código Python o PHP?

Sí. Arriba a la derecha de «Expresión regular», elige un lenguaje entre JavaScript, Python, PHP, Java, Ruby y Go y pulsa el botón de copiar: se copia en el formato de código de ese lenguaje. Se ajusta la sintaxis que cambia, como (?P<nombre>…) en Python, \A y \z en Ruby o (?i) en Go. Lo que ese lenguaje no puede expresar, como el lookbehind en Go, se avisa con una línea debajo del cuadro. El lenguaje elegido se recuerda para la próxima vez.

¿Puedo pegar algo como /abc/gi?

Sí. Si pegas /abc/gi con «Expresión regular» vacío, se separa en la expresión y las flags. Al revés, si eliges «JavaScript» arriba a la derecha del cuadro y pulsas el botón de copiar, se copia la expresión actual como /…/, lista para pegarla en tu código JavaScript.

¿Puedo ver qué significa la expresión?

Pulsa «Significado», arriba a la derecha de «Expresión regular»: la expresión se divide en partes y se muestra con qué coincide cada una, como «Un dígito, 4 veces» o «Grupo year». Lo que hay dentro de cada grupo aparece sangrado, así que también puedes comprobar cómo se emparejan los paréntesis.

¿Puedo sacar una lista solo con las coincidencias?

Elige «Extraer» y las coincidencias aparecen una por línea. Si hay grupos, también puedes quedarte solo con esa parte ($1, <nombre>). Con «Quitar duplicados» se juntan las repetidas, y puedes copiar el resultado o guardarlo en un archivo de texto. Con la flag g desactivada, solo sale la primera.

¿Dónde veo el contenido de los grupos?

En la «Lista de coincidencias», a la derecha, aparece para cada coincidencia el contenido de $1, $2… (o <nombre> en los grupos con nombre). Los grupos que no coinciden muestran «(sin coincidencia)».

¿Qué puedo usar en un reemplazo?

Elige «Reemplazar» y, en «Reemplazar por», usa $1, $2… (grupos), $<nombre> (grupos con nombre), $& (la coincidencia completa) y $$ (un $ literal). Con la flag g activada se reemplazan todas las coincidencias; sin ella, solo la primera.

Me aparece «Se ha detenido porque tardaba demasiado»

Las expresiones con repeticiones dentro de repeticiones, como (a+)+ o (.*)*, pueden disparar el cálculo con textos que no coinciden (backtracking catastrófico). Para que la página no se congele, se detienen a los 2 segundos. Junta las repeticiones en una sola o limita los caracteres que coinciden, por ejemplo [^,]* en lugar de .*.

¿Cómo busco sin distinguir mayúsculas y minúsculas?

Activa «i Ignorar mayúsculas» en «Flags». Así, A y a, o Ñ y ñ, se tratan como la misma letra.

^ y $ no coinciden en cada línea

Por defecto, ^ y $ solo coinciden con el inicio y el final del texto entero. Para que coincidan en cada línea, activa «m Por línea» en «Flags».

¿Puedo buscar letras con acento u otros alfabetos?

Sí. \w solo abarca A–Z, 0–9 y _, así que no incluye la á ni la ñ. Usa \p{L} (una letra de cualquier alfabeto) con «u Unicode» activada. Para los kanji, elige «Kanji (caracteres chinos)» en «Elegir un patrón habitual»: usa \p{Script=Han}, que necesita la flag u, así que u se activa sola.

¿Es gratis?

Sí, es gratis. Sin registro, sin instalar nada y sin anuncios. Úsalo tantas veces como quieras, con textos de cualquier longitud.