Los paquetes de expresiones regulares tienen limitaciones
paquete java.regex He confirmado que no hay soporte para grupos con nombre, así que avíseme qué bibliotecas de terceros lo admiten.
Busqué jregex, pero la última versión fue en 2002 y no funcionó para java5 (aunque lo probé de inmediato).
Soporte desde Java 7
Java 7 agregó soporte para grupos con nombre. Los componentes básicos para admitir grupos de captura con nombre son:
Alternativas antes de Java 7
En Java 7 y versiones anteriores, existían las siguientes alternativas.
Biblioteca Regex2
La biblioteca Regex2 admite grupos con nombre Se extiende la clase java.util.regex.Pattern para crear.
Ejemplo
Cadena de entrada: "TEST 123"
Expresión regular: "(?
Acceso:
matcher.group(1) == "PRUEBA"
matcher.group("iniciar sesión") == "PRUEBA"
matcher.name(1) == "iniciar sesión"
Reemplazar:
matcher.replaceAll ("aaaaa_$1_sssss_$2____") == "aaaaa_TEST_sssss_123____"
matcher.replaceAll("aaaaa_${login}_sssss_${id}____") == "aaaaa_TEST_sssss_123____"
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3