Whiz Tools

Probador de Patrones Regex

Copiar

Resultados de Coincidencia

Introduce un patrón y texto de prueba para ver los resultados

Guardar Patrón

Patrones Guardados

No hay patrones guardados aún

Guía de Símbolos Regex

.Coincide con cualquier carácter excepto nueva línea
\dCoincide con cualquier dígito (0-9)
\DCoincide con cualquier carácter que no sea un dígito
\wCoincide con cualquier carácter de palabra (a-z, A-Z, 0-9, _)
\WCoincide con cualquier carácter que no sea de palabra
\sCoincide con cualquier carácter de espacio en blanco
\SCoincide con cualquier carácter que no sea de espacio en blanco
^Coincide con el inicio de la línea
$Coincide con el final de la línea
*Coincide con 0 o más del carácter precedente
+Coincide con 1 o más del carácter precedente
?Coincide con 0 o 1 del carácter precedente
{n}Coincide exactamente con n del carácter precedente
{n,}Coincide con al menos n del carácter precedente
{n,m}Coincide con entre n y m del carácter precedente
[abc]Coincide con cualquiera de los caracteres en los corchetes
[^abc]Coincide con cualquier carácter que no esté en los corchetes
(abc)Agrupa múltiples tokens juntos y captura la coincidencia
a|bCoincide con a o b
\bCoincide con una posición de límite de palabra

Probador y Validador de Patrones Regex

Introducción

Un probador de patrones de Expresión Regular (regex) es una herramienta esencial para desarrolladores, analistas de datos y cualquier persona que trabaje con procesamiento de texto. Este completo validador de patrones regex te permite crear, probar y refinar expresiones regulares en tiempo real, proporcionando retroalimentación visual inmediata sobre las coincidencias de patrones. Ya sea que estés validando direcciones de correo electrónico, analizando archivos de registro o extrayendo datos específicos de texto, nuestro probador de regex hace que el proceso de desarrollo y depuración sea más rápido e intuitivo.

Las expresiones regulares son potentes secuencias de coincidencia de patrones que permiten búsquedas, validaciones y manipulaciones de texto sofisticadas. Sin embargo, su sintaxis puede ser compleja y difícil de dominar. Este probador de patrones regex simplifica el proceso al resaltar coincidencias mientras escribes, validar la sintaxis del patrón y permitirte guardar patrones utilizados con frecuencia para referencia futura.

Cómo Usar el Validador de Patrones Regex

Usar nuestro validador de patrones regex es sencillo e intuitivo. Sigue estos pasos para comenzar:

  1. Ingresa un Patrón de Expresión Regular: Escribe tu patrón regex en el campo de entrada designado. La herramienta valida tu patrón en tiempo real, alertándote sobre cualquier error de sintaxis.

  2. Selecciona las Bandas Regex: Elige las bandas apropiadas para tu patrón:

    • g (Global): Encuentra todas las coincidencias en lugar de detenerse después de la primera coincidencia
    • i (Insensible a Mayúsculas): Hace que el patrón no distinga entre mayúsculas y minúsculas
    • m (Multilínea): Hace que ^ y $ coincidan con el inicio/final de cada línea
    • Varias combinaciones de estas bandas están disponibles en el menú desplegable
  3. Ingresa Texto de Prueba: Escribe el texto que deseas probar contra tu patrón en el área de texto de prueba.

  4. Ver Resultados en Tiempo Real: A medida que escribes, la herramienta automáticamente:

    • Resalta todas las coincidencias del patrón en el texto de prueba
    • Muestra el número total de coincidencias encontradas
    • Indica si el patrón coincide con todo el texto
  5. Guardar Patrones Útiles: Para patrones que usas con frecuencia:

    • Ingresa una etiqueta descriptiva para tu patrón
    • Haz clic en el botón "Guardar"
    • Accede a tus patrones guardados desde la sección "Patrones Guardados"
  6. Copiar Resultados: Usa el botón "Copiar Coincidencias" para copiar todo el texto coincidente a tu portapapeles para usar en otras aplicaciones.

La interfaz se divide en dos paneles principales: el panel de entrada donde ingresas tu patrón y texto de prueba, y el panel de resultados que muestra coincidencias e información del patrón.

Fundamentos de la Expresión Regular

Las expresiones regulares utilizan caracteres y secuencias especiales para definir patrones de búsqueda. Aquí tienes una guía de los símbolos regex fundamentales soportados por nuestra herramienta:

Coincidencia de Caracteres

SímboloDescripciónEjemploCoincide
.Coincide con cualquier carácter excepto nueva líneaa.c"abc", "adc", "a1c", etc.
\dCoincide con cualquier dígito (0-9)\d{3}"123", "456", "789", etc.
\DCoincide con cualquier carácter que no sea un dígito\D+"abc", "xyz", etc.
\wCoincide con cualquier carácter alfanumérico (a-z, A-Z, 0-9, _)\w+"abc123", "test_123", etc.
\WCoincide con cualquier carácter que no sea alfanumérico\W+"!@#", " + ", etc.
\sCoincide con cualquier carácter de espacio en blancoa\sb"a b", "a\tb", etc.
\SCoincide con cualquier carácter que no sea espacio en blanco\S+"abc", "123", etc.

Anclas de Posición

SímboloDescripciónEjemploCoincide
^Coincide con el inicio de la línea^abc"abc" al principio de una línea
$Coincide con el final de la líneaabc$"abc" al final de una línea
\bCoincide con un límite de palabra\bword\b"word" como una palabra completa

Cuantificadores

SímboloDescripciónEjemploCoincide
*Coincide con 0 o más del carácter anteriora*b"b", "ab", "aab", etc.
+Coincide con 1 o más del carácter anteriora+b"ab", "aab", "aaab", etc.
?Coincide con 0 o 1 del carácter anteriorcolou?r"color", "colour"
{n}Coincide exactamente con n del carácter anteriora{3}"aaa"
{n,}Coincide con al menos n del carácter anteriora{2,}"aa", "aaa", "aaaa", etc.
{n,m}Coincide entre n y m del carácter anteriora{2,4}"aa", "aaa", "aaaa"

Clases de Caracteres

SímboloDescripciónEjemploCoincide
[abc]Coincide con cualquiera de los caracteres en los corchetes[aeiou]"a", "e", "i", "o", "u"
[^abc]Coincide con cualquier carácter que no esté en los corchetes[^aeiou]Cualquier carácter excepto "a", "e", "i", "o", "u"
[a-z]Coincide con cualquier carácter en el rango[a-z]Cualquier letra minúscula

Agrupación y Alternancia

SímboloDescripciónEjemploCoincide
(abc)Agrupa múltiples tokens y captura la coincidencia(abc)+"abc", "abcabc", etc.
a|bCoincide con a o bcat|dog"cat", "dog"

Patrones Regex Avanzados

Una vez que hayas dominado lo básico, puedes crear patrones más sofisticados para resolver desafíos complejos de procesamiento de texto:

Validación de Correo Electrónico

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

Este patrón valida direcciones de correo electrónico asegurando que sigan el formato estándar: nombredeusuario@dominio.tld.

Validación de URL

^(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$

Este patrón valida URLs, incluyendo aquellas con o sin el protocolo http/https.

Validación de Números de Teléfono (Formato de EE. UU.)

^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$

Este patrón coincide con números de teléfono de EE. UU. en varios formatos: (123) 456-7890, 123-456-7890 o 1234567890.

Validación de Fechas (YYYY-MM-DD)

^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$

Este patrón valida fechas en el formato YYYY-MM-DD, con validación básica para los rangos de mes y día.

Lookahead y Lookbehind

Las afirmaciones de lookahead y lookbehind te permiten coincidir con patrones solo si son seguidos o precedidos por otro patrón:

  • Lookahead positivo: a(?=b) coincide con "a" solo si es seguido por "b"
  • Lookahead negativo: a(?!b) coincide con "a" solo si no es seguido por "b"
  • Lookbehind positivo: (?<=a)b coincide con "b" solo si es precedido por "a"
  • Lookbehind negativo: (?<!a)b coincide con "b" solo si no es precedido por "a"

Trabajando con Bandas Regex

Nuestro probador de regex soporta varias bandas que modifican cómo se coinciden los patrones:

  • g (Global): Encuentra todas las coincidencias en lugar de detenerse después de la primera coincidencia
  • i (Insensible a Mayúsculas): Hace que el patrón no distinga entre mayúsculas y minúsculas
  • m (Multilínea): Hace que ^ y $ coincidan con el inicio/final de cada línea
  • Combinaciones: Puedes combinar bandas para requisitos de coincidencia más complejos

Casos de Uso para Pruebas de Patrones Regex

Las expresiones regulares tienen numerosas aplicaciones prácticas en diferentes campos:

Desarrollo Web

  1. Validación de Formularios: Asegúrate de que las entradas del usuario coincidan con los formatos requeridos:

    • Direcciones de correo electrónico: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
    • Contraseñas (con requisitos de complejidad): ^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
    • URLs: ^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
  2. Análisis HTML: Extraer elementos o atributos específicos:

    • Encontrar todas las etiquetas de imagen: <img[^>]+src="([^">]+)"
    • Extraer enlaces: <a[^>]+href="([^">]+)"

Procesamiento de Datos

  1. Análisis de Archivos de Registro: Extraer información de entradas de registro:

    • Direcciones IP: \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b
    • Tiempos: \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
    • Mensajes de error: ERROR: .*
  2. Análisis de CSV: Procesar valores separados por comas con campos potencialmente entre comillas:

    • Coincidencia de campo CSV: (?:^|,)(?:"([^"]*(?:""[^"]*)*)"|([^,]*))

Procesamiento de Texto

  1. Buscar y Reemplazar: Identificar patrones para reemplazo:

    • Eliminar etiquetas HTML: <[^>]*>
    • Formatear números de teléfono: (\d{3})(\d{3})(\d{4})($1) $2-$3
  2. Extracción de Contenido: Extraer información específica de texto no estructurado:

    • Extraer fechas: \b(?:Ene|Feb|Mar|Abr|May|Jun|Jul|Ago|Sep|Oct|Nov|Dic)\s+\d{1,2},\s+\d{4}\b
    • Encontrar valores monetarios: \$\d+(?:\.\d{2})?

Programación y Codificación

  1. Resaltado de Sintaxis: Identificar construcciones de lenguaje:

    • Variables de JavaScript: \b(?:var|let|const)\s+([a-zA-Z_$][\w$]*)\b
    • Definiciones de funciones: function\s+([a-zA-Z_$][\w$]*)\s*\(
  2. Refactorización de Código: Encontrar patrones que necesitan actualización:

    • Llamadas a API obsoletas: \.oldMethod\(
    • Funciones inseguras: eval\(

Guardar y Gestionar Patrones

Nuestro probador de patrones regex incluye un sistema de gestión de patrones que te permite guardar y reutilizar tus expresiones utilizadas con frecuencia:

Cuándo Guardar Patrones

Considera guardar patrones que:

  • Usas con frecuencia en diferentes proyectos
  • Son complejos y difíciles de recordar
  • Sirven para propósitos específicos de validación en tu trabajo
  • Has refinado después de múltiples iteraciones

Mejores Prácticas para Etiquetas de Patrones

Al guardar patrones, usa etiquetas descriptivas que:

  • Indiquen el propósito del patrón (por ejemplo, "Validador de Correo Electrónico")
  • Mencionen formatos específicos (por ejemplo, "Número de Teléfono de EE. UU.")
  • Incluyan información de versión si iteras sobre patrones (por ejemplo, "Validador de URL v2")
  • Sean concisas pero informativas

Organización de Patrones

Organiza tus patrones guardados por:

  • Función (validación, extracción, reemplazo)
  • Dominio (desarrollo web, procesamiento de datos)
  • Complejidad (básico, avanzado)
  • Frecuencia de uso

Compartir Patrones

Si bien nuestra herramienta no soporta directamente el intercambio de patrones entre usuarios, puedes:

  • Copiar patrones para compartir con colegas
  • Documentar tus patrones en un repositorio compartido
  • Incluir descripciones de patrones en la documentación del proyecto

Solucionando Problemas Comunes de Regex

Incluso los desarrolladores experimentados encuentran desafíos con expresiones regulares. Aquí hay soluciones a problemas comunes:

Errores de Sintaxis

Si tu patrón muestra un error de validación:

  • Verifica si hay paréntesis, corchetes o llaves sin cerrar
  • Asegúrate de que los caracteres especiales estén correctamente escapados con una barra invertida
  • Verifica que los cuantificadores tengan un carácter o grupo anterior
  • Busca sintaxis de clase de caracteres inválida

Problemas de Rendimiento

Si tu regex es lento o causa retrasos en el navegador:

  • Evita el uso excesivo de cuantificadores anidados (por ejemplo, (a+)+)
  • Ten cuidado con lookaheads y lookbehinds en textos grandes
  • Considera usar patrones más específicos en lugar de amplios
  • Divide patrones complejos en partes más pequeñas y manejables

Coincidencias Inesperadas

Si tu patrón coincide con texto no deseado:

  • Usa anclas (^ y $) para coincidir con cadenas completas
  • Haz que las clases de caracteres sean más específicas
  • Agrega límites de palabra (\b) donde sea apropiado
  • Usa lookaheads negativos para excluir ciertos patrones

Ninguna Coincidencia Encontrada

Si tu patrón no coincide con el texto esperado:

  • Verifica problemas de sensibilidad a mayúsculas (considera usar la banda i)
  • Asegúrate de que los caracteres especiales estén correctamente escapados
  • Prueba tu patrón en ejemplos simplificados primero
  • Asegúrate de que estás usando las clases de caracteres correctas

Alternativas a las Expresiones Regulares

Si bien regex es poderoso, no siempre es la mejor solución para cada tarea de procesamiento de texto:

Métodos de Cadena

Para operaciones de texto simples, los métodos de cadena nativos son a menudo más claros y eficientes:

  • String.indexOf() para encontrar subcadenas
  • String.startsWith() y String.endsWith() para verificar límites de cadena
  • String.split() para tokenización básica

Analizadores Especializados

Para formatos de datos estructurados, los analizadores dedicados son más robustos:

  • Analizadores JSON para datos JSON
  • Analizadores XML/HTML para lenguajes de marcado
  • Analizadores CSV para datos tabulares

Procesamiento de Lenguaje Natural (NLP)

Para entender el significado del texto en lugar de solo patrones:

  • Herramientas de análisis de sentimientos
  • Reconocimiento de entidades nombradas
  • Etiquetado de partes del discurso

Cuándo Elegir Alternativas

Considera alternativas a regex cuando:

  • La estructura del texto es altamente regular y simple
  • El formato tiene un analizador estandarizado disponible
  • Necesitas entender el significado semántico
  • El rendimiento es crítico para textos muy grandes

Preguntas Frecuentes

¿Qué es una expresión regular?

Una expresión regular (regex) es una secuencia de caracteres que define un patrón de búsqueda. Estos patrones pueden ser utilizados para búsquedas de cadenas, coincidencias y operaciones de manipulación de texto.

¿Por qué necesito un probador de patrones regex?

Un probador de patrones regex te ayuda a desarrollar y depurar expresiones regulares proporcionando retroalimentación visual inmediata sobre las coincidencias, validando la sintaxis del patrón y permitiéndote experimentar con diferentes patrones y bandas sin tener que implementarlos en código primero.

¿Cómo coincido con un carácter especial literal como un punto o un asterisco?

Para coincidir con caracteres especiales literales que normalmente tienen un significado especial en regex, necesitas escaparlos con una barra invertida. Por ejemplo, para coincidir con un punto literal, usa \. en lugar de solo ..

¿Cuál es la diferencia entre .* y .*? en un patrón regex?

El .* es un cuantificador codicioso que coincide con tantos caracteres como sea posible, mientras que .*? es un cuantificador perezoso (no codicioso) que coincide con la menor cantidad de caracteres posible. Esta distinción es importante cuando deseas encontrar la coincidencia más corta en lugar de la más larga.

¿Puedo usar este probador regex para patrones en cualquier lenguaje de programación?

Si bien la sintaxis básica de regex es similar en muchos lenguajes, hay diferencias sutiles en la implementación. Nuestro probador utiliza el motor regex de JavaScript, que es compatible con muchos lenguajes web, pero puede tener diferencias con regex en lenguajes como Python, Java o Perl.

¿Cómo valido una cadena completa con regex?

Para validar que una cadena completa coincida con un patrón, usa el ancla ^ al principio y el ancla $ al final de tu regex. Por ejemplo, ^[0-9]+$ solo coincidirá con cadenas que consisten completamente en dígitos.

¿Qué son los grupos de captura y cómo los uso?

Los grupos de captura, creados con paréntesis (), te permiten extraer porciones específicas del texto coincidente. En nuestro probador, puedes ver todas las coincidencias, incluidos los grupos capturados. En los lenguajes de programación, normalmente puedes acceder a estas capturas a través del índice del resultado de la coincidencia.

¿Cómo puedo hacer que mis patrones regex sean más eficientes?

Para mejorar la eficiencia de regex: sé específico con las clases de caracteres, evita grupos de captura innecesarios (usa grupos no capturantes (?:...) cuando sea posible), limita el uso de lookaheads/lookbehinds, y evita patrones que causen retroceso catastrófico como cuantificadores anidados.

¿Cuáles son los errores más comunes de regex que debo evitar?

Los errores comunes incluyen: no escapar caracteres especiales, crear patrones que sean demasiado codiciosos, olvidar anclar patrones (con ^ y $), y escribir expresiones excesivamente complejas que sean difíciles de mantener.

¿Puede regex manejar estructuras anidadas como HTML?

Las expresiones regulares no son adecuadas para analizar estructuras anidadas como HTML o XML. Si bien puedes crear patrones regex para coincidencias HTML simples, generalmente es mejor usar un analizador HTML dedicado para el procesamiento HTML complejo.

Referencias

  1. Friedl, J. E. F. (2006). Mastering Regular Expressions. O'Reilly Media.
  2. Goyvaerts, J., & Levithan, S. (2012). Regular Expressions Cookbook. O'Reilly Media.
  3. "Expresión regular." Wikipedia, Fundación Wikimedia, https://es.wikipedia.org/wiki/Expresi%C3%B3n_regular
  4. MDN Web Docs. "Expresiones Regulares." Mozilla, https://developer.mozilla.org/es/docs/Web/JavaScript/Guide/Regular_Expressions
  5. RegExr: Aprende, Construye y Prueba RegEx. https://regexr.com/

Prueba nuestro probador de patrones regex hoy para simplificar tus tareas de procesamiento de texto, validar formatos de entrada y extraer datos significativos de texto no estructurado. Ya seas un principiante aprendiendo los conceptos básicos de las expresiones regulares o un desarrollador experimentado trabajando en coincidencias de patrones complejas, nuestra herramienta proporciona las funciones que necesitas para crear, probar y refinar tus patrones regex de manera eficiente.

Comentarios