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 |