Probador de expresiones regulares

Prueba una expresión regular contra tu propio texto y ve cada coincidencia con su posición y grupos de captura. Cambia a modo reemplazar para reescribir o a

🌍 Acceso global 🔒 Privacidad primero ⚡ Conversión instantánea 💯 Ilimitado
Advertisement

Escribe un patrón, pega tu texto y ve cada coincidencia resaltada con su posición y sus grupos de captura. Cambia al modo reemplazar para reescribir el texto con una sustitución, o al modo extraer para sacar un grupo de captura línea a línea: la forma más rápida de comprobar un patrón antes de llevarlo al código.

El motor es el sabor de expresiones regulares de JavaScript que usan los navegadores, así que el resultado coincide con lo que obtendrías en Node o en la consola del navegador, incluidos los grupos con nombre, el lookahead y los cuantificadores perezosos. Hay banderas para coincidencia global, sin distinguir mayúsculas, multilínea, punto como cualquier carácter y unicode, y un patrón desbocado se detiene en lugar de congelar la pestaña.

Cómo probar una expresión regular

1

Introduce el patrón y fija las banderas

2

Pega el texto con el que probarlo

3

Lee las coincidencias, o usa el modo reemplazar y el modo extraer

Preguntas frecuentes

¿Qué sabor de regex se usa?

JavaScript (ECMAScript), el mismo motor que tu navegador y Node.js. Los patrones escritos para PCRE, Python o Java pueden necesitar pequeños cambios: los cuantificadores posesivos y la recursión no forman parte de este sabor.

¿Por qué se ha congelado o detenido mi patrón?

Por un retroceso catastrófico, normalmente a causa de cuantificadores anidados como (a+)+ contra una cadena larga que no coincide. La herramienta se detiene tras un número fijo de iteraciones para proteger la pestaña; simplifica el patrón o anótalo.

¿Cómo reemplazo texto?

Cambia al modo reemplazar e introduce la sustitución. $1, $2 o $<name> insertan grupos de captura, así que puedes reformatear fechas, intercambiar campos o limpiar registros.

¿Qué hace el modo extraer?

Devuelve un grupo de captura por línea en lugar de la coincidencia completa, que es justo lo que quieres cuando extraes direcciones de correo, URL o identificadores de un bloque de texto.

¿Funcionan los saltos de línea en mi patrón?

Solo con las banderas de multilínea o de punto como cualquier carácter. De forma predeterminada el . no coincide con un salto de línea, que es una causa habitual de que un patrón funcione en una línea pero falle en un párrafo.

¿Se sube mi texto?

No, la coincidencia se ejecuta en local, algo útil cuando el texto contiene datos reales de registros o información de clientes.

Advertisement

De un vistazo

Entradatexto
Varios archivosNo
Dónde se ejecutaEn tu navegador: los archivos no se suben nunca
Funciona sin conexiónSí — una vez cargada la página
PrecioGratis, sin registro y sin marca de agua

Dónde se rompen las conversiones sin hacer ruido

La mayoría de los errores de conversión no tienen que ver con la sintaxis, sino con el significado. Una columna CSV de códigos postales pierde sus ceros iniciales en el momento en que una hoja de cálculo supone que es un número; un ID largo supera la precisión de coma flotante; las fechas cambian de significado según si van con el día primero o el mes primero. Las claves de JSON no tienen orden, pero los arrays no, y una herramienta que ordena claves no cambia nada, mientras que una que ordena arrays cambia los datos. Unicode es otra trampa: el texto puede llegar como UTF-8, como UTF-16 o con BOM, y un decodificador que adivina mal convierte los caracteres acentuados en «Mojibake». Antes de fiarte de cualquier conversión, revisa la primera y la última fila, cualquier campo con ceros iniciales y cualquier campo que contenga comillas, comas o saltos de línea.

Elegir un formato de datos

JSON es lo predeterminado para todo lo que devuelve una API o lee un programa: maneja estructuras anidadas, números, booleanos y null de forma natural, y todos los lenguajes lo analizan. CSV es más pequeño y se abre directamente en una hoja de cálculo, pero no tiene forma de expresar anidamiento ni un estándar compartido para el delimitador, las comillas o el juego de caracteres, que es justo donde fallan las conversiones. XML es verboso, pero admite atributos, contenido mixto y esquemas, así que sigue dominando los formatos de documento y las integraciones heredadas. YAML es el más legible para configuración, pero es sensible a los espacios y tiene conversiones de tipo sorprendentes («no» se convierte en false, una versión como 1.10 se convierte en 1.1). Elige el formato que prefiera la herramienta que lo va a consumir, no el que se vea más bonito.