Volver al panel

Probador y depurador de expresiones regulares

Pruebas de expresiones regulares en vivo con resaltado visual.

/ /
g

Regex Tester: prueba y depura expresiones regulares en tiempo real

Las expresiones regulares (regex) son una de las herramientas más poderosas en el arsenal de un desarrollador y una de las más crípticas. Una sola expresión regular bien diseñada puede reemplazar 50 líneas de código de análisis de cadenas. Nuestro probador en tiempo real le permite crear, probar y comprender patrones sin el ciclo de edición, guardado y ejecución de su IDE.

Referencia rápida de sintaxis de expresiones regulares

Patrón Partidos Ejemplo
\\\\dCualquier dígito del 0 al 9\\\\d{4}partidos 2024
\\\\wCarácter de palabra (letra, dígito, _)\\\\w+coincide con "hola_mundo"
^ / $Inicio/fin de cadena^\\\\d{5}$coincide únicamente con códigos postales de 5 dígitos
[...]Cualquier personaje en el conjunto[aeiou]coincide con cualquier vocal
(?:...)Grupo sin capturaGrupos sin guardar para capturar grupos
(?=...)Previsión positiva\\\\w+(?=\\\\.com)coincide con el subdominio

5 patrones de expresiones regulares del mundo real que vale la pena marcar

  1. Validación de correo electrónico: /^[\\\\w.-]+@[\\\\w.-]+\\\\.[a-z]{2,}$/i
  2. Número de teléfono de EE. UU.: /^(\\\\+1)?[\\\\s.-]?\\\\(?\\\\d{3}\\\\)?[\\\\s.-]?\\\\d{3}[\\\\s.-]?\\\\d{4}$/
  3. Extracción de URL: /https?:\\\\/\\\\/[^\\\\s"']+/g
  4. Verificación de contraseña segura: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\\\d)(?=.*[@$!%*?&])[A-Za-z\\\\d@$!%*?&]{8,}$/
  5. Eliminar espacios en blanco adicionales: /\\\\s+/greemplazar con un solo espacio

Preguntas frecuentes

¿Qué hacen las banderas g, i, m?

gramo(global): busca todas las coincidencias, no solo la primera.i: no distingue entre mayúsculas y minúsculas.metro(varias líneas): ^ y $ coinciden con los límites de las líneas en lugar de los límites de las cadenas.

¿Por qué mi expresión regular funciona aquí pero no en Python?

Este probador utiliza el motor de expresiones regulares de JavaScript. pitónreEl módulo tiene diferencias menores de sintaxis, en particular, Python usa(?P<nombre>...)para grupos con nombre, mientras que JavaScript usa(?<nombre>...).

¿Qué causa un retroceso catastrófico?

Patrones como(un+)+aplicado a cadenas largas que no coinciden causan una complejidad temporal exponencial. Utilice grupos atómicos o cuantificadores posesivos en motores que los admitan, o reestructure el patrón para evitar repeticiones anidadas.