# Probador de regex PCRE2

Prueba patrones PCRE2 en línea: toda la sintaxis de grupos con nombre ((?P), (?), (?'n')), cuantificadores posesivos, grupos atómicos, \\A \\z \\h — más pcre2grep y la API C.

> Página canónica: https://elysiatools.com/es/tools/pcre-regex-tester

- **Categoría:** Development

- **Palabras clave:** probador regex pcre2, pcre online, php preg, expresión regular, grupos atómicos

## Descripción general

Un tester para el sabor PCRE2 (preg\_\* de PHP, pcre2grep, Delphi, R y muchas herramientas). PCRE2 acepta toda la sintaxis de grupos con nombre — (?P…), (?…), (?'year'…) — con retroreferencias \\k, \\k{year}, \\g{year} y (?P=year); el tester las acepta todas, traduce al motor ECMAScript y reporta coincidencias, grupos con nombre y vista previa de reemplazo. Los atajos ausentes en JavaScript se expanden: anclas absolutas \\A y \\z, \\Z antes del newline final, \\h / \\H espacio horizontal. Posesivos y grupos atómicos se emulan con captura-en-lookahead e impiden el backtracking de verdad; \\d \\w \\s mantienen la semántica ASCII por defecto de PCRE2 (activa clases Unicode para emular PCRE2\_UCP). Las construcciones que ECMAScript no puede expresar — recursión ((?R), (?1)), condicionales ((?(1)…)), callouts (?C…), \\K, \\G, verbos de backtracking — se detectan y rechazan con explicación. El informe también genera líneas de pcre2grep y un esquema de la API C pcre2\_compile / pcre2\_match.

## Entradas

- **Patrón** (text): (?\\d{4})-(?\\d{2})
- **Cadena de prueba** (textarea): Paste the text to match against…
- **i — sin distinción** (checkbox)
- **m — multilínea** (checkbox)
- **s — dotall** (checkbox)
- **x — extendido** (checkbox)
- **U — no voraz** (checkbox)
- **g — escaneo global** (checkbox)
- **Plantilla de reemplazo (opcional)** (text): \\g / \\1
- **Clases de caracteres Unicode (\d \w \s coinciden con Unicode)** (checkbox)

## Cuándo usarlo

- Al desarrollar o depurar expresiones regulares para funciones preg_match o preg_replace en aplicaciones PHP.
- Al construir filtros complejos con pcre2grep o utilidades de línea de comandos que utilicen la sintaxis PCRE2.
- Al optimizar expresiones regulares mediante grupos atómicos o cuantificadores posesivos para evitar problemas de backtracking catastrófico.

## Cómo funciona

- Introduce la expresión regular con sintaxis PCRE2 en el campo de patrón y define el texto de prueba en la cadena de entrada.
- Configura los modificadores necesarios (como 'i', 'm', 's', 'x', 'U' o 'g') y ajusta si las clases de caracteres deben coincidir en modo Unicode.
- Opcionalmente, añade una plantilla de sustitución para comprobar cómo se aplican los reemplazos y las referencias capturadas.
- Examina los resultados interactivos que detallan coincidencias completas, grupos con nombre, advertencias de emulación y los comandos pcre2grep o código C listos para usar.

## Casos de uso

- Extracción estructurada de campos y códigos de error desde registros de logs multilínea utilizando anclas absolutas y grupos con nombre.
- Sustitución y formateo de datos en scripts PHP verificando la plantilla de reemplazo antes de desplegar en producción.
- Generación de comandos pcre2grep y esqueletos de integración en lenguaje C (pcre2_compile / pcre2_match) a partir de un patrón probado.

## Preguntas frecuentes

### ¿Qué formatos de grupos con nombre admite este probador?

Acepta todas las variantes válidas de PCRE2: (?P...), (?...) y (?'nombre'...), junto con sus respectivas retroreferencias.

### ¿Cómo se gestionan las anclas y atajos que no existen de forma nativa en JavaScript?

Atajos como \A, \z, \Z y los espacios horizontales \h / \H se traducen y expanden de forma precisa conservando la semántica estricta de PCRE2.

### ¿Cómo funcionan los grupos atómicos y cuantificadores posesivos?

Se emulan mediante técnicas de captura dentro de lookaheads para garantizar que realmente se bloquee el retroceso (backtracking).

### ¿Qué ocurre si utilizo construcciones no compatibles como recursión (?R) o \K?

El probador detecta automáticamente construcciones incompatibles con el entorno de ejecución y muestra una explicación detallada del motivo de rechazo.

### ¿Por qué \d, \w y \s coinciden solo con ASCII por defecto?

PCRE2 opera por defecto en modo ASCII; puedes activar la casilla de clases de caracteres Unicode para simular el comportamiento del modificador PCRE2_UCP.

## Herramientas relacionadas

- [Probador de regex Java](https://elysiatools.com/es/tools/java-regex-tester): Prueba patrones java.util.regex en línea: grupos con nombre (?…), cuantificadores posesivos y grupos atómicos, flags de Pattern y código Java listo.
- [Hoja de Referencia Regex](https://elysiatools.com/es/tools/regex-cheat-sheet): Hoja de referencia buscable y localizada para la sintaxis de expresiones regulares — clases de caracteres, anclas, cuantificadores, grupos y referencias, inspecciones, secuencias de escape y banderas, con un probador rápido integrado
- [Depurador de Regex](https://elysiatools.com/es/tools/regex-debugger): Recorre cómo una expresión regular coincide con una cadena posición por posición: visualiza intentos de coincidencia, éxitos parciales, retrocesos y capturas — una herramienta para entender el comportamiento de regex, no solo el resultado final
- [Probador de Regex](https://elysiatools.com/es/tools/regex-tester): Prueba expresiones regulares contra texto
- [Prueba de Rendimiento de Regex](https://elysiatools.com/es/tools/regex-benchmark): Compare el rendimiento de diferentes patrones de regex, identifique cuellos de botella y detecte casos degenerados
- [Probador de regex C# (.NET)](https://elysiatools.com/es/tools/csharp-regex-tester): Prueba expresiones regulares de .NET/C# en línea: grupos con nombre ((?…)), opciones IgnoreCase/Multiline/Singleline, resaltado, tabla de grupos y código C# listo para pegar.
- [Probador de regex Python (módulo re)](https://elysiatools.com/es/tools/python-regex-tester): Prueba patrones del módulo re de Python en línea: grupos con nombre (?P…), retroreferencias (?P=name), VERBOSE, comportamiento findall y plantillas \\g — más código Python listo.
- [Visualizador de Diagrama Ferroviario de Regex](https://elysiatools.com/es/tools/regex-railroad-diagram-visualizer): Renderiza una expresión regular como diagrama ferroviario SVG que muestra literales, grupos, alternativas y repetición, con numeración de grupos de captura y explicación de banderas

## Ejemplos

- [Ejemplos de Reemplazo de Regex](https://elysiatools.com/es/samples/regex-replace): Colección de patrones de reemplazo de regex comunes y útiles para transformación de texto y limpieza de datos
- [Patrones Comunes de Expresiones Regulares](https://elysiatools.com/es/samples/regex-samples): Patrones de expresiones regulares comúnmente utilizados para validación y coincidencia
- [Alternativas de Patrones Regex](https://elysiatools.com/es/samples/regex-alternatives): Múltiples formas de escribir el mismo patrón regex con diferentes compensaciones
- [Grupos de Captura Nombrados de Regex](https://elysiatools.com/es/samples/regex-named-groups): Colección de patrones de regex que usan grupos de captura nombrados para extraer datos estructurados de texto. Los grupos nombrados hacen que los patrones sean más legibles y mantenibles asignando nombres significativos a las partes capturadas.
