Saltar al contenido

Expresión regular desde ejemplos

Convierte ejemplos de texto en una expresión regular y visualiza qué ejemplos coinciden.

Entrada
Ejemplos que el patrón NO debe coincidir

Expresión regular desde ejemplos

Pega unos cuantos ejemplos de texto que el patrón debe coincidir —uno por línea— y esta herramienta infiere una expresión regular que captura la forma que comparten. Bajo el patrón generado, se enumeran todos los ejemplos con una marca, para que veas de un vistazo si el resultado realmente cubre lo que pegaste.

El nivel de generalización controla qué tan literal es el resultado. «Caracteres exactos» mantiene cada carácter como está y solo combina ejemplos de diferentes formas con alternancia. «Clases de caracteres» reemplaza dígitos, letras y espacios con \d, \p{Lu}/\p{Ll} y \s, mientras conserva los conteos de repetición exactos de tus ejemplos. «Cuantificadores flexibles» va más allá y convierte esas secuencias en coincidencias de uno o más, lo que generaliza mejor pero también coincide con más que tus ejemplos. El anclaje añade ^ y $ para que toda la cadena tenga que coincidir en lugar de solo una subcadena, la sensibilidad a mayúsculas controla si importa el caso de las letras, y los grupos nombrados envuelven las partes variables del patrón para que puedas extraerlas por nombre más adelante. La opción de dialecto ajusta cómo se escriben los grupos nombrados para JavaScript, PCRE o Python, ya que los tres no están de acuerdo en esa sintaxis.

Agrega textos que el patrón NO debe coincidir en el segundo campo, y la herramienta verifica el patrón generado contra ellos también —cualquier contraejemplo que aún coincida se marca, lo que es la forma más rápida de detectar un patrón que es demasiado amplio. Activa la explicación para obtener el patrón dividido en sus piezas individuales con una descripción en lenguaje natural de lo que hace cada una.

Todo se ejecuta localmente en tu navegador: los ejemplos que pegas, los contraejemplos y el patrón generado nunca salen de tu dispositivo. Copia el resultado, descárgalo como archivo .txt o reenvía la salida de vuelta a la entrada para refinarlo contra más ejemplos.

Preguntas frecuentes

¿La expresión regular generada siempre coincide con todos los ejemplos que pegué?
Sí —el patrón se construye directamente desde tus ejemplos, por lo que está diseñado para coincidir con todos ellos bajo el nivel de precisión que elegiste. Si tus ejemplos tienen formas genuinamente diferentes, la herramienta recurre a coincidir con cualquiera de las formas distintas.
¿Qué cambia exactamente «clases de caracteres»?
Reemplaza las secuencias de dígitos, letras y espacios con su clase regex (\d, \p{Lu}, \p{Ll}, \s) en lugar de los caracteres literales, manteniendo la longitud exacta vista en tus ejemplos —entonces «AB12» se convierte en \p{Lu}{2}\d{2}, no un literal «AB12».
¿Por qué el patrón también coincidió con uno de mis contraejemplos?
Una coincidencia negativa generalmente significa que la generalización es más amplia de lo que tienes la intención —intenta un nivel más estricto, activa el anclaje, o agrega un contraejemplo más específico para que la línea marcada muestre exactamente qué se escapó.
¿El patrón funcionará exactamente igual en Python o PCRE?
Las clases de caracteres y cuantificadores se comparten entre dialectos, pero la sintaxis de grupos nombrados difiere —la opción de dialecto solo ajusta cómo se muestran esos grupos (JavaScript usa (?<name>…), PCRE y Python tradicionalmente usan (?P<name>…)); siempre prueba el resultado contra tu motor real.
¿Las cadenas de ejemplos se cargan en algún lugar?
No. El patrón se genera enteramente en tu navegador —tus ejemplos y la expresión regular generada nunca salen de tu dispositivo.