Las expresiones regulares (o regex para abreviar) utilizadas en las búsquedas y reglas de segmentación son compatibles con Java. Si necesitas información más específica, consulta la Documentación Regex de Java. Ve las referencias adicionales y los siguientes ejemplos.
Nota
Este capítulo está destinado a usuarios avanzados, que tienen que definir sus propias variantes de las reglas de segmentación o idear más complejas y potentes búsquedas de elementos clave.
Tabla 16. Regex - Indicadores
| La construcción |
... coincide con el siguiente |
| (?i) |
Habilita la coincidencia de mayúsculas y minúsculas (de manera predeterminada, el patrón distingue entre mayúsculas y minúsculas). |
Tabla 17. Regex - Carácter
| La construcción |
... coincide con el siguiente |
| x |
El carácter x, excepto los siguientes... |
| \uhhhh |
El carácter con valor hexadecimal 0xhhhh |
| \t |
El carácter de tabulador ('\u0009') |
| \n |
El carácter de nueva línea (salto de línea) ('\u000A') |
| \r |
El carácter de retorno de carro ('\u000D') |
| \f |
El carácter de alimentación de hoja ('\u000C') |
| \a |
El carácter de alerta (campana) ('\u0007') |
| \e |
El carácter de escape ('\u001B') |
| \cx |
El carácter de control correspondiente a x |
| \0n |
El carácter octal con valor 0n (0 <= n <= 7) |
| \0nn |
El carácter octal con valor 0nn (0 <= n <= 7) |
| \0mnn |
El carácter octal con valor de 0mnn (0 <= m <= 3, 0 <= n <= 7) |
| \xhh |
El carácter hexadecimal con valor 0xhh |
Tabla 18. Regex - Citado
| La construcción |
... coincide con el siguiente |
| \ |
Nada, pero cita el siguiente carácter. Esto es necesario si quieres ingresar cualquiera de los caracteres meta !$()*+.<>?[\]^{} para que coincidan con ellos mismos. |
| \\ |
Por ejemplo, este es el carácter de barra invertida |
| \Q |
Nada, sino que cita todos los caracteres hasta \E |
| \E |
Nada, pero termina el citando iniciado por \Q |
Tabla 19. Regex - Clases para bloques Unicode y categorías
| La construcción |
... coincide con el siguiente |
| \p{InGreek} |
Un carácter en el bloque griego (simple bloque) |
| \p{Lu} |
Una letra mayúscula (simple categoría) |
| \p{Sc} |
Un símbolo de moneda |
| \P{InGreek} |
Cualquier carácter excepto uno en el bloque Griego (negación) |
| [\p{L}&&[^\p{Lu}]] |
Cualquier letra excepto una letra en mayúscula (sustracción) |
Tabla 20. Regex - Clases de caracteres
| La construcción |
... coincide con el siguiente |
| [abc] |
a, b o c (clase simple) |
| [^abc] |
Cualquier carácter excepto a, b o c (negación) |
| [a-zA-Z] |
desde la a hasta la z o desde la A hasta la Z, ambas inclusive (rango) |
Tabla 21. Regex - Clases predefinidas de caracteres
| La construcción |
... coincide con el siguiente |
| . |
Cualquier carácter (excepto los terminadores de línea) |
| \d |
Un dígito: [0-9] |
| \D |
Un no dígito: [^0-9] |
| \s |
Un espacio en blanco: [ \t\n\x0B\f\r] |
| \S |
Un carácter distinto al espacio en blanco: [^\s] |
| \w |
Un carácter constituyente de palabra: [a-zA-Z_0-9] |
| \W |
Un carácter no constituyente de palabra: [^\w] |
Tabla 22. Regex - Límites de coincidencia
| La construcción |
... coincide con el siguiente |
| ^ |
Al comienzo de una línea |
| $ |
Al final de una línea |
| \b |
En los límites de una palabra |
| \B |
En los límites de un carácter no constituyente de palabra |
Tabla 23. Regex - Cuantificadores codiciosos
| La construcción |
... coincide con el siguiente |
| X
?
|
X, una vez o ninguna en absoluto |
| X
*
|
X, cero o más veces |
| X
+
|
X, una o más veces |
Nota
cuantificadores codiciosos coinciden tanto como les sea posible. Por ejemplo,
a+?
coincidirá con aaa en
aaabbb
Tabla 24. Regex - Cuantificadores reacios (tímidos)
| La construcción |
... coincide con el siguiente |
| X?? |
X, una vez o ninguna en absoluto |
| X*? |
X, cero o más veces |
| X+? |
X, una o más veces |
Nota
los cuantificadores tímidos coincide tan poco como les sea posible. Por ejemplo,
a+?
coincidirá con la primera
a
en
aaabbb
Tabla 25. Regex - Operadores lógicos
| La construcción |
... coincide con el siguiente |
| XY |
X seguida por Y |
| X|Y |
O bien X o bien Y |
| (XY) |
XY como un solo grupo |