OmegaT - Guía de usuario

Expresiones regulares

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

Herramienta Regex y ejemplos de uso

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.

Figura 11. Probador Regex
Probador Regex

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 26. 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.