As expresións regulares (ou regex para acortar) empregadas nas buscas e regras de segmentación son as compatíbeis con Java. En caso de necesitar información máis específica, consulte a Documentación sobre Regex de Java. Vexa referencias adicionais e exemplos máis adiante.
Este capítulo está pensado para usuarios avanzados, que necesitar definir as súas propias variantes de regras de segmentación ou que necesitan facer buscas máis complexas e exhaustivas.
Table 16.1. Regex - Bandeiras
A construción | ... coincide coa seguinte |
---|---|
(?i) | Permite coincidencias que non teñan en conta as maiúsculas e minúsculas (de xeito predeterminado, o padrón ten en conta as maiúsculas e minúsculas). |
Table 16.2. Regex - Carácter
A construción | ... coincide coa seguinte |
---|---|
x | O carácter x, excepto o seguinte... |
\uhhhh | O carácter con valor hexadecimal 0xhhhh |
\t | O carácter de tabulación ('\u0009') |
\n | O carácter de nova liña ('\u000A') |
\r | O carácter de retorno de carro ('\u000D') |
\f | O carácter de alimentación de folla ('\u000C') |
\a | O carácter alerta (campá) ('\u0007') |
\e | O carácter de escape ('\u001B') |
\cx | O carácter de control correspondente a x |
\0n | O carácter con valor octal 0n (0 <=n <=7) |
\0nn | O carácter con valor octal 0nn (0 <=n <=7) |
\0mnn | O carácter con valor octal 0mnn (0 <=m <=3, 0 <= n <=7) |
\xhh | O carácter con valor hexadecimal 0xhh |
Table 16.3. Regex - Citación
A construción | ... coincide coa seguinte |
---|---|
\ | Nada, mais cita o seguinte carácter. Isto é necesario se quere inserir calquera dos meta caracteres !$()*+.<>?[\]^{|} e que coincidan con eles mesmos. |
\\ | Por exemplo, este é o carácter de barra invertida |
\Q | Nada, mais cita a todos os caracteres ata \E |
\E | Nada, mais termina citas iniciadas por \Q |
Table 16.4. Regex - Clases para bloques e categorías Unicode
A construción | ... coincide coa seguinte |
---|---|
\p{InGreek} | Un carácter no bloque Grego (bloque simple) |
\p{Lu} | Unha letra maiúscula (categoría simple) |
\p{Sc} | Un símbolo de divisa |
\P{InGreek} | Calquera carácter excepto un do bloque grego (negación) |
[\p{L}&&[^\p{Lu}]] | Calquera letra excepto unha letra en maiúscula (subtracción) |
Table 16.5. Regex - Clases de caracteres
A construción | ... coincide coa seguinte |
---|---|
[abc] | a, b ou c (clase simple) |
[^abc] | Calquera carácter excepto a, b ou c (negación) |
[a-zA-Z] | Desde o a ata o z ou A ata Z, inclusive (rango) |
Table 16.6. Regez - Clases predeterminadas de caracteres
A construción | ... coincide coa seguinte |
---|---|
. | Calquera carácter (excepto os finalizadores de liña) |
\d | Un díxito: [0-9] |
\D | Un non díxito: [^0-9] |
\s | Un carácter de espazo en branco: [ \t\n\x0B\f\r] |
\S | Un espazo de non espazo en branco: [^\s] |
\w | Un carácter de palabra: [a-zA-Z_0-9] |
\W | Un carácter de non palabra: [^\w] |
Table 16.7. Regex - Límite de coincidencias
A construción | ... coincide coa seguinte |
---|---|
^ | O comezo dunha liña |
$ | O fin dunha liña |
\b | En los límites de una palabra |
\B | Nos límites dun carácter non constituínte de palabra |
Table 16.8. Regex - Cuantificadores cobizosos
A construción | ... coincide coa seguinte |
---|---|
X? | X, unha vez ou nunca |
X* | X, cero ou máis veces |
X+ | X, unha ou máis veces |
os cuantificadores cobizosos coincidirán tanto coma sexa posíbel. Por exemplo, a+? debe coincidir con aaa en aaabbb
Table 16.9. Regex - Cuantificadores tímidos (non cobizosos)
A construción | ... coincide coa seguinte |
---|---|
X?? | X, unha vez ou nunca |
X*? | X, cero ou máis veces |
X+? | X, unha ou máis veces |
os cuantificadores non cobizosos coincidirán o mínimo posíbel. Por exemplo, a+? debe coincidir coa primeira a en aaabbb
Table 16.10. Regex - operadores lóxicos
A construción | ... coincide coa seguinte |
---|---|
XY | X seguido de Y |
X|Y | Tanto X como Y |
(XY) | XY coma un grupo indivisíbel |
Hai dispoñíbeis un número de ferramentas interactivas para desenvolver e probar expresións regulares. Xeralmente seguen máis ou menos o mesmo padrón (vexa máis adiante un exemplo do Comprobador de expresión regular): a expresión regular (primeira entrada) analiza o texto de busca (caixa de texto do medio), dando consellos, se amosa no cadro de texto de resultados.
Vexa The Regex Coach para as versións Windows, Linux e FreeBSD dunha ferramenta independente. Esta é case idéntica ao exemplo anterior.
Pode atopar unha gran colección de casos de expresións regulares útiles no propio OmegaT (vexa Opcións > Segmentación). A seguinte lista inclúe expresións que pode atopar útiles cando busque na memoria de tradución:
Table 16.11. Regex - Exemplos de expresións regulares en traducións
Expresión regular | Atopa o seguinte: |
---|---|
(\b\w+\b)\s\1\b | palabras duplicadas |
[\.,]\s*[\.,]+ | coma ou punto seguido de espazo ou outra coma ou punto |
\. \s+$ | espazos extra despois dun punto ao final de liña |
\s+a\s+[aeiou] | Inglés: palabras que comecen por vogal, que xeralmente deberían ir precedidas de «an» e non «a» |
\s+an\s+[^aeiou] | Inglés: o mesmo caso ca antes, mais coas consoantes («a» e non «an») |
\s{2,} | máis dun espazo |
\.[A-Z] | Punto, seguido dunha letra en maiúscula (posibelmente falte un espazo entre o punto e o comezo da nova frase) |
\bis\b | busca «is», e non «this» ou «isn't», etc. |