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.
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.1. 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 16.2. 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 16.3. 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 16.4. 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 16.5. 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 16.6. 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 16.7. 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 16.8. 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 |
cuantificadores codiciosos coinciden tanto como les sea posible. Por ejemplo, a+? coincidirá con aaa en aaabbb
Tabla 16.9. 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 |
los cuantificadores tímidos coincide tan poco como les sea posible. Por ejemplo, a+? coincidirá con la primera a en aaabbb
Tabla 16.10. 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 |
Una serie de herramientas interactivas disponibles para desarrollar y probar expresiones regulares. Por lo general, siguen el mismo patrón (por ejemplo desde el Probador de expresiones regulares ve más abajo): la expresión regular (entrada superior), analiza el texto de búsqueda (cuadro de texto en el centro), produciendo los elementos, mostrados en el cuadro de texto resultado.
Ve El entrenador Regex en versiones para Windows, Linux, FreeBSD de una herramienta independiente. Esta es similar al ejemplo anterior.
Puedes encontrar una buena colección de útiles casos de expresiones regulares en OmegaT sí (ves Opciones → Segmentación). La siguiente lista incluye expresiones que te pueden ser útiles cuando buscas a través de la memoria de traducción:
Tabla 16.11. Regex - Ejemplos de expresiones regulares en traducciones
Expresión regular | Busca lo siguiente: |
---|---|
(\b\w+\b)\s\1\b | palabras dobles |
[\.,]\s*[\.,]+ | coma o un punto, seguido por espacios y otra coma o punto |
\. \s+$ | espacios en blanco extra después del punto al final de la línea |
\s+a\s+[aeiou] | Inglés: las palabras, que empiezan con vocales, generalmente deben estar precedidas por "an", no "a" |
\s+an\s+[^aeiou] | Inglés: la misma comprobación que la anterior, pero sobre las consonantes ("a", no "an") |
\s\s+ | más de un espacio |
\.[A-Z] | Un punto, seguido por una letra mayúscula, posiblemente, un espacio omitido entre el punto y el comienzo de una nueva frase. |