# Probador de regex Java

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.

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

- **Categoría:** Development

- **Palabras clave:** probador regex java, expresión regular online, pattern matcher, cuantificadores posesivos, grupos con nombre

## Descripción general

Un tester para el sabor java.util.regex (Pattern / Matcher). Escribe el patrón como en Java — grupos con nombre (?…), retroreferencia \\k, cuantificadores posesivos como a\*+, grupos atómicos (?>…) — y se traduce al motor ECMAScript y se ejecuta contra tu texto: cada coincidencia, grupos capturados con nombre y vista previa de reemplazo con sintaxis $1 / ${name}. Genera código Java listo con los flags Pattern.CASE\_INSENSITIVE / MULTILINE / DOTALL / COMMENTS / UNICODE\_CHARACTER\_CLASS y el acceso matcher.group("name"). Se respetan las semánticas de Java: \\d \\w \\s solo ASCII salvo que actives las clases Unicode (emulando UNICODE\_CHARACTER\_CLASS); los posesivos y atómicos se emulan con captura-en-lookahead e impiden el backtracking de verdad; las diferencias que Java rechaza (lookbehind de longitud variable) se anotan donde este emulador es más permisivo.

## Entradas

- **Patrón** (text): (?\\d{4})-(?\\d{2})
- **Cadena de prueba** (textarea): Paste the text to match against…
- **i — CASE_INSENSITIVE** (checkbox)
- **m — MULTILINE** (checkbox)
- **s — DOTALL** (checkbox)
- **x — COMMENTS** (checkbox)
- **u — UNICODE_CHARACTER_CLASS** (checkbox)
- **g — buscar todas las coincidencias** (checkbox)
- **Plantilla de reemplazo (opcional)** (text): ${name} / $1
- **Clases de caracteres Unicode (\d \w \s coinciden con Unicode)** (checkbox)

## Cuándo usarlo

- Al implementar expresiones regulares en Java que utilicen grupos con nombre (?...) o retroreferencias \\k.
- Al optimizar patrones con cuantificadores posesivos (*+, ++) o grupos atómicos (?>...) para evitar backtracking excesivo.
- Al validar el comportamiento de clases como \d o \w distinguiendo entre el modo ASCII estándar y la opción UNICODE_CHARACTER_CLASS.

## Cómo funciona

- Introduce la expresión regular en el campo de patrón respetando la sintaxis de java.util.regex.
- Ingresa la cadena de prueba en el área de texto y activa las banderas necesarias como CASE_INSENSITIVE, MULTILINE, DOTALL o clases Unicode.
- Define opcionalmente una plantilla de reemplazo usando referencias posicionales $1 o grupos nombrados ${name}.
- Inspecciona las coincidencias capturadas, los valores de cada grupo y copia el fragmento de código Java generado con Pattern y Matcher.

## Casos de uso

- Extracción y segmentación de datos estructurados en archivos de registro mediante grupos nombrados.
- Comprobación de patrones de reemplazo complejos antes de integrarlos con Matcher.replaceAll() en proyectos Java.
- Depuración de expresiones regulares propensas a retroceso catastrófico usando sintaxis posesiva.

## Preguntas frecuentes

### ¿Cómo interpreta el probador las clases \d, \w y \s por defecto?

Coinciden únicamente con caracteres ASCII según el estándar de Java, salvo que se active la opción de clases de caracteres Unicode (UNICODE_CHARACTER_CLASS).

### ¿Se admiten cuantificadores posesivos como a*+ o a++?

Sí, el tester emula el bloqueo de retroceso (backtracking) característico de los cuantificadores posesivos y grupos atómicos de Java.

### ¿Qué sintaxis de reemplazo es compatible?

Se admite la sustitución estándar de Java utilizando $1 para índices numéricos y ${nombre} para grupos de captura con nombre.

### ¿El código Java generado incluye las banderas seleccionadas?

Sí, el bloque de código genera la llamada a Pattern.compile combinando las constantes de flags activadas como Pattern.CASE_INSENSITIVE o Pattern.DOTALL.

### ¿Qué ocurre con los lookbehind de longitud variable?

Java no admite lookbehind de longitud indefinida en su motor nativo; el analizador añade advertencias si se detectan diferencias con java.util.regex.

## Herramientas relacionadas

- [Probador de regex PCRE2](https://elysiatools.com/es/tools/pcre-regex-tester): 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.
- [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.
- [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
- [Explicador de Expresiones Regulares](https://elysiatools.com/es/tools/ai-regex-explainer): Usa IA para desglosar expresiones regulares en explicaciones legibles
- [Comparador de Múltiples Patrones](https://elysiatools.com/es/tools/multi-pattern-matcher): Ejecuta múltiples patrones de expresión regular contra texto en una operación
- [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
- [Glob a Regex](https://elysiatools.com/es/tools/glob-to-regex): Convierte patrones de coincidencia de archivos (Glob) a expresiones regulares

## Ejemplos

- [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.
- [Ejemplos de Procesamiento de Cadenas Android Java](https://elysiatools.com/es/samples/android-string-processing-java): Ejemplos de procesamiento de cadenas Android Java incluyendo división y unión de cadenas, expresiones regulares y reemplazo de cadenas
- [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
