Probador de Regex/ Tiempo real

Resaltado de coincidencias en tiempo real con detalles de grupos de captura, modo reemplazo y patrones integrados. Completamente local.

//
Rápido:
Cadena de prueba

Ingrese un patrón arriba.

¿Esta herramienta resolvió tu problema?

Qué es un probador de regex

Un probador de regex permite a los desarrolladores probar y depurar expresiones regulares en tiempo real, viendo instantáneamente resultados de coincidencia, grupos de captura y efectos de reemplazo.

Casos de uso comunes de regex

Validación de formularios: verificar formatos de email, teléfono, ID. Extracción de datos: extraer patrones específicos del texto. Reemplazo de texto: reemplazar en masa texto que coincida con el patrón. Análisis de logs: filtrar líneas según condiciones.

Ejemplos de código

JavaScript
const re = /(?<year>\d{4})-(\d{2})/g;
const str = "2024-03 and 2025-01";

for (const m of str.matchAll(re)) {
  console.log(m[0]);          // "2024-03"
  console.log(m.groups.year); // "2024"
  console.log(m[2]);          // "03"
  console.log(m.index);       // 0
}
Python
import re

pattern = r"(?P<year>\d{4})-(\d{2})"
text = "2024-03 and 2025-01"

for m in re.finditer(pattern, text):
    print(m.group(0))         // "2024-03"
    print(m.group("year"))    // "2024"
    print(m.group(2))         // "03"
    print(m.start())          // 0
Go
import "regexp"

re := regexp.MustCompile(
  `(?P<year>\d{4})-(\d{2})`,
)
text := "2024-03 and 2025-01"

matches := re.FindAllStringSubmatch(
  text, -1,
)
// matches[0][0] = "2024-03"
// matches[0][1] = "2024"  (year)
// matches[0][2] = "03"
Rust
use regex::Regex;

let re = Regex::new(
  r"(?P<year>\d{4})-(\d{2})"
).unwrap();
let text = "2024-03 and 2025-01";

for cap in re.captures_iter(text) {
    println!("{}", &cap[0]);  // "2024-03"
    println!("{}", &cap["year"]); // "2024"
    println!("{}", &cap[2]);  // "03"
}

Preguntas frecuentes

¿Qué hacen los indicadores regex?
g (global) encuentra todas las coincidencias; i (ignore case) hace la búsqueda insensible a mayúsculas; m (multiline) hace que ^ y $ coincidan con límites de línea; s (dotAll) hace que . coincida con saltos de línea.
¿Cómo uso grupos de captura en reemplazo?
Envuelve partes del patrón en () para crear grupos, luego referéncialos como $1, $2 en el campo Reemplazar. Ejemplo: patrón (\d{4})-(\d{2}) con reemplazo $2/$1 convierte 2024-03 en 03/2024.
¿Qué significa el índice de coincidencia?
El índice es el desplazamiento de carácter base cero donde comienza la coincidencia en la cadena original. Útil en código — corresponde al índice retornado por String.prototype.exec().
¿Cómo coincidir caracteres Unicode / CJK?
Para caracteres chinos: [\u4e00-\u9fff]. Rango más amplio: [\u4e00-\u9fff\u3400-\u4dbf]. Con el indicador u, use \p{Script=Han} para todos los caracteres Han.
¿Qué son las aserciones lookahead y lookbehind?
Coinciden con posiciones, no caracteres: (?=…) lookahead positivo — el lado derecho debe coincidir; (?!…) lookahead negativo — el lado derecho no debe coincidir; (?<=…) lookbehind positivo — el lado izquierdo debe coincidir.
¿Por qué mi regex causa un bucle infinito?
Con el indicador g, un patrón que puede coincidir con cadenas vacías (como a* o .*) no avanza lastIndex después de una coincidencia vacía. Esta herramienta avanza lastIndex automáticamente y limita a 2000 coincidencias.