Editor
Esperando entrada o ejecución de expresión regular…
Acciones
¿Por qué usar este probador de expresiones regulares?
- Coincidencia en tiempo real con un modo "en vivo" opcional para volver a ejecutar mientras escribes
- Lista de coincidencias estructurada con índice inicial, índice final, valor y grupos de captura nombrados
- Soporte completo de sintaxis RegExp de JavaScript/ECMAScript (mismo motor que tu entorno de ejecución JS)
- Controles de banderas: g, i, m, s, u, y – combina y experimenta con seguridad
- Información básica de rendimiento con tiempo de ejecución por prueba en milisegundos
- Salida de resumen solo en texto para copiar/pegar rápidamente en tickets, documentos o mensajes de commit
- Excelente para aprender: prototipa patrones sin ejecutar un proyecto completo o suite de pruebas
- Ideal para tareas cotidianas: análisis de registros, validación, extracción de URL/ID, limpieza rápida de datos
- La lista de resultados tiene un límite suave para evitar bloqueos de la UI al coincidir textos grandes
🔧 Cómo usar el probador de expresiones regulares for regex-tester
1. Pega o escribe tu texto de prueba
Añade el texto que quieres buscar: registros, fragmentos, trozos de CSV, HTML, JSON, cualquier cosa que sea texto plano.
2. Escribe tu patrón de expresión regular
Introduce la expresión regular **sin barras circundantes**. Por ejemplo: <code>\b\w+@\w+\.\w+</code> para un patrón básico tipo email, o <code>(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})</code> con grupos nombrados.
3. Establece las banderas (g, i, m, s, u, y)
Activa banderas como <code>g</code> (global), <code>i</code> (sin distinguir mayúsculas/minúsculas) o <code>m</code> (multilínea). Internamente, el probador construye <code>new RegExp(pattern, flags)</code> exactamente como lo hace JavaScript.
4. Inspecciona coincidencias y grupos
Revisa cada coincidencia con su índice, índice final opcional y grupos de captura. Los grupos nombrados aparecen como un mapa tipo JSON para que puedas copiarlos en fixtures de prueba, analizadores o documentación.
5. Copia el resumen
Usa el resumen de texto como un informe rápido: enumera coincidencias con índices y grupos, listo para pegar en tickets, comentarios de revisión de código o hojas de referencia.
Sintaxis de expresiones regulares y detalles del motor
Clases de caracteres y conceptos básicos
Bloques de construcción básicos admitidos por el motor RegExp de JavaScript.
| Patrón | Significado | Ejemplo |
|---|---|---|
| . | Cualquier carácter excepto saltos de línea (a menos que esté la bandera <code>s</code>) | <code>a.c</code> → coincide con <code>abc</code> |
| \d, \w, \s | Dígitos, caracteres de palabra, espacios en blanco | <code>\d+</code> → <code>123</code> |
| \D, \W, \S | Versiones negadas de las anteriores | <code>\S+</code> → secuencias sin espacios |
| [abc] | Conjunto de caracteres | <code>[aeiou]</code> → una vocal única |
| [^abc] | Conjunto negado | <code>[^0-9]</code> → no dígito |
| ^, $ | Inicio y fin de entrada (o línea con <code>m</code>) | <code>^Hello</code>, <code>!$</code> |
Cuantificadores
Repetición de tokens anteriores, con comportamiento codicioso y perezoso.
| Patrón | Significado | Ejemplo |
|---|---|---|
| ? | 0 o 1 vez | <code>colou?r</code> → coincide con <code>color</code> y <code>colour</code> |
| * | 0 o más | <code>a*b</code> → <code>b</code>, <code>aaab</code> |
| + | 1 o más | <code>\d+</code> → <code>1</code>, <code>123</code> |
| {n} | Exactamente n | <code>a{3}</code> → <code>aaa</code> |
| {n,} | Al menos n | <code>\d{3,}</code> → <code>123</code>, <code>1234</code> |
| {n,m} | Entre n y m | <code>a{2,4}</code> → <code>aa</code>, <code>aaa</code>, <code>aaaa</code> |
Grupos, Búsquedas alrededor y Capturas Nombradas
Características más avanzadas proporcionadas por motores modernos de JavaScript.
| Característica | Sintaxis | Ejemplo |
|---|---|---|
| Grupos de captura | (...) | <code>(\d{3})-(\d{2})</code> → área + sufijo |
| Grupos sin captura | (?:...) | <code>(?:https?|ftp)://</code> |
| Retrorreferencias | \1, \2, ... | <code>(\w)\1</code> → <code>aa</code>, <code>bb</code> |
| Búsquedas anticipadas | (?=...), (?!...) | <code>\w+(?=! )</code> → palabra antes de <code>! </code> |
| Búsquedas retrógradas* | (?<=...), (?<!...) | <code>(?<=#)\w+</code> → texto después de <code>#</code> (*en motores modernos) |
| Grupos con nombre | (?<nombre>...) | <code>(?<año>\d{4})</code> → <code>grupos.año</code> en resultados |
Banderas (Opciones)
Las banderas del probador se corresponden directamente con las banderas de RegExp de JavaScript.
| Bandera | Nombre | Efecto |
|---|---|---|
| g | Global | Encuentra todas las coincidencias en lugar de solo la primera |
| i | Ignorar mayúsculas/minúsculas | Coincidencia sin distinguir entre mayúsculas y minúsculas |
| m | Multilínea | <code>^</code> y <code>$</code> coinciden con límites de línea |
| s | DotAll | <code>.</code> también coincide con saltos de línea |
| u | Unicode | Habilita el modo Unicode y los escapes de propiedades en motores modernos |
| y | Pegajoso | Coincidir solo en el índice actual (usado con <code>lastIndex</code>) |
Rendimiento y Seguridad
El motor JavaScript subyacente ejecuta regex de forma síncrona. Para mantener la interfaz de usuario receptiva, el probador limita el número de coincidencias recopiladas (por ejemplo, las primeras 500 coincidencias en modo global). Esto ayuda a evitar saturar la interfaz, pero no reemplaza auditorías completas de rendimiento para patrones complejos o críticos.
Herramientas de Regex en Línea de Comandos
Una vez que tu patrón funcione aquí, puedes reutilizar el mismo regex o uno similar en tu terminal, scripts o trabajos de CI:
Linux / macOS
Buscar con grep (regex extendido)
grep -E 'pattern' file.txtEncontrar líneas que coincidan con un patrón dado
Buscar y reemplazar con sed
sed -E 's/pattern/replacement/g' input.txt > output.txtSustituciones por lotes en archivos de texto
Windows / PowerShell
Búsqueda con regex en PowerShell
Select-String -Pattern '\d{3}-\d{2}-\d{4}' -Path logs.txtEncontrar patrones de SSN estilo estadounidense en archivos de registro (ejemplo)
Reemplazo con regex en PowerShell
(Get-Content input.txt) -replace 'old', 'new' | Set-Content output.txtSustituciones simples basadas en regex
Aplicaciones Prácticas de Regex
Desarrollo Web y Frontend
- Validar correos electrónicos, nombres de usuario, slugs o IDs personalizados en formularios
- Extraer parámetros de ruta de URLs o rutas
- Prototipar rápidamente patrones para validación del lado del cliente
// Validación básica tipo email
/^[\w.+-]+@[\w.-]+\.[A-Za-z]{2,}$/i.test(email);// Parámetros de ruta: /post/123
const match = pathname.match(/^\/post\/(\d+)/);Registros, Datos y Backend
- Analizar marcas de tiempo y niveles de líneas de registro
- Normalizar espacios en blanco y limpiar texto desordenado
- Extraer IDs, correos electrónicos o referencias de contenido no estructurado
// Colapsar espacios en blanco repetidos
const normalized = text.replace(/\s+/g, ' ').trim();// Coincidencia simple de línea de registro
const m = line.match(/\[(?<date>\d{4}-\d{2}-\d{2})] (?<level>INFO|ERROR): (?<msg>.*)/);Limpieza de Datos y Scripts Rápidos
- Eliminar etiquetas o atributos HTML no deseados antes del análisis
- Extraer todas las URLs, correos electrónicos o IDs de un bloque largo de texto
- Preparar campos del conjunto de datos para importar a otro sistema
❓ Frequently Asked Questions
❓¿Por qué mi expresión regular no coincide con nada?
., ?, +), 2) Olvidar la bandera g cuando se esperan múltiples coincidencias, 3) Faltan anclajes (^, $) o límites de palabra (\b), 4) Usar características que tu motor JavaScript aún no admite (como algunas búsquedas hacia atrás). Intenta simplificar el patrón y agregar partes gradualmente.⏱️¿Qué significa el tiempo de ejecución (ms)?
performance.now(). El valor es una medición aproximada de una sola ejecución de cuánto tiempo tardó la expresión regular en ejecutarse en la entrada actual. Es útil para detectar patrones obviamente costosos, pero no es una prueba de referencia completa ni una garantía del rendimiento en producción.🔍¿Cuál es la diferencia entre el primer modo de coincidencia y el modo global?
g, JavaScript devuelve solo la **primera** coincidencia (si la hay). Con g, el probador usa input.matchAll() para recopilar **todas** las coincidencias (limitadas a un máximo seguro), incluidos índices y grupos de captura. Usa el modo global siempre que te importen múltiples ocurrencias.🌍¿Esto admite Unicode y escapes <code>\p{...}</code>?
u para activar el modo Unicode, que desbloquea cosas como \p{Letra} o \p{Script=Griego} en navegadores modernos y versiones recientes de Node.js.⚠️¿Puede esto detectar retroceso catastrófico?
Pro Tips
Construye tu expresión regular en pequeñas partes. Comienza con algo simple que coincida, luego agrega anclajes, grupos y cuantificadores paso a paso.
Usa grupos de captura con nombre (<code>(?<nombre>...)</code>) siempre que sea posible. Hacen que tus coincidencias sean autodocumentadas y mucho más fáciles de leer durante las revisiones de código.
Ten cuidado con <code>.*</code> y cuantificadores anidados. Pueden causar un retroceso intenso en entradas grandes. Haz los patrones más específicos o limita la repetición con <code>{n,m}</code>.
Al depurar, elimina temporalmente la bandera <code>g</code> y concéntrate en la primera coincidencia para simplificar el modelo mental.
Additional Resources
Other Tools
- Embellecedor CSS
- Embellecedor HTML
- Embellecedor JavaScript
- Embellecedor PHP
- Selector de Color
- Extractor de Sprites
- Decodificador Base64
- Codificador Base64
- Formateador C#
- Formateador CSV
- Dockerfile Formatter
- Formateador Elm
- Formateador ENV
- Formateador Go
- Formateador GraphQL
- Formateador HCL
- Formateador INI
- Formateador JSON
- Formateador LaTeX
- Formateador Markdown
- Formateador Objective-C
- Php Formatter
- Formateador Proto
- Formateador Python
- Formateador Ruby
- Formateador Rust
- Formateador Scala
- Formateador de Scripts de Shell
- Formateador SQL
- Formateador SVG
- Formateador Swift
- Formateador TOML
- Typescript Formatter
- Formateador XML
- Formateador YAML
- Formateador Yarn
- Minificador CSS
- Html Minifier
- Javascript Minifier
- Minificador JSON
- Minificador XML
- Visor de Encabezados HTTP
- PDF a Texto
- Verificador de Posición en SERP
- Consulta Whois