Chapter 17. Expressiones regular

1. Regex, instrumentos e exemplos de uso

Le expressiones regular (o in breve regex) usate in le regulas de recercas e de segmentation, es illos supportate per Java. Si tu debe necessitar information plus specific, consulta le documentation Regex Java. Vide referentias additional e exemplos successivemente.

Note

Iste capitulo es designate pro usatores experte, que debe definir lor proprie variantes de regulas de segmentation o imaginar elementos clave de recerca plus complexe e potente.

Table 17.1. Regex - Flags

Le construction ... concorda le sequente
(?i) Habilita concordantia non sensitive al majusculas (per base prefixate, le schema es sensitive al majusculas).

Table 17.2. Regex - Character

Le construction ... concorda le sequente
x Le character x, excepte le sequente...
\uhhhh Le character con valor hexadecimal 0xhhhh
\t Le character de tabulation ('\u0009')
\n Le character (line feed) nove linea ('\u000A')
\r Le character retorna-carro ('\u000D')
\f Le character nove folio ('\u000C')
\a Le character alerta (campana) ('\u0007')
\e Le character escappa ('\u001B')
\cx Le character de controlo correspondente a x
\0n Le character con valor octal 0n (0 <= n <= 7)
\0nn Le character con valor octal 0nn (0 <= n <= 7)
\0mnn Le character con valor octal 0mnn (0 <= m <= 0, 3 <= n <= 7)
\xhh Le character con valor hexadecimal 0xhh

Table 17.3. Regex - Citation

Le construction ... concorda le sequente
\ Nihil, excepte quotes le character sequente. Isto necessita si tu amarea inscriber alicun del meta-characteres !$()*+.<>?[\]^{|} pro concordar con ipsos.
\\ Per exemplo, isto es le character barra reverse
\Q Nihil, excepte cita omne characteres usque \E
\E Nihil, excepte termina le citation initiate per \Q

Table 17.4. Classes - Regex pro blocos Unicode e categorias

Le construction ... concorda le sequente
\p{InGreek} Un character in le bloco grec (simplice bloco)
\p{Lu} Un littera majuscule (simplice categoria)
\p{Sc} Un symbolo de numerario
\P{InGreek} Omne character excepte uno in le bloco grec (negation)
[\p{L}&&[^\p{Lu}]] Omne littera excepte un littera majuscule (subtraction)

Table 17.5. Regex - Classes de character

Le construction ... concorda le sequente
[abc] a, b, o c (classe simplice)
[^abc] Cata character excepte a, b, o c (negation)
[a-zA-Z] De a trans z o A trans Z, inclusive (campo)

Table 17.6. Regex - Classes de character prefixate

Le construction ... concorda le sequente
. Cata character (excepte pro le terminatores del linea)
\d Un cifra: [0-9]
\D Un non-cifra: [^0-9]
\s Un character spatio blanc: [ \t\n\x0B\f\r]
\S Un character non-spatio blanc: [^\s]
\w Un character parola: [a-zA-Z_0-9]
\W Un character non-parola: [^\w]

Table 17.7. Regex - Accopulatores de limite

Le construction ... concorda le sequente
^ Le initio de un linea
$ Le fin de un linea
\b Un limite de parola
\B Un limite de non-parola

Table 17.8. Regex - quantificatores avide

Le construction ... concorda le sequente
X? X, un vice o del toto non
X* X, zero o plus vices
X+ X, un o plus vices

Note

La quantificatores avide concordara tanto como illos pote. Per exemplo, a+concordara le aaa in aaabbb

Table 17.9. Regex - quantificatores reluctante (non-avide)

Le construction ... concorda le sequente
X?? X, un vice o del toto non
X*? X, zero o plus vices
X+? X, un o plus vices

Note

Le quantificatores non-avide concordara assi pauc quam illos pote. Per exemplo, a+? concordara le prime a in aaabbb

Table 17.10. Regex - operatores logic

Le construction ... concorda le sequente
XY X sequite per Y
X|Y X o Y
(XY) XY como gruppo singule

1. Regex, instrumentos e exemplos de uso

Plure instrumentos interactive es disponibile pro disveloppar e essayar le expressiones regular. Illos generalmente seque multo le mesme schema (Per un exemplo de Probator de Expression Regular vide in sequito): le expression regular (entrata al summitate) analyse le texto de recerca (cassa de texto intermedie), rendente le occurrentias, monstrate in le cassa de texto de resultato.

Figure 17.1. Probator de Regex

Probator de Regex

Vide le tutor de Regex pro le versiones del application autonome in Windows, Linux, FreeBSD. Isto es identic al exemplo precedente.

Un amabile collection de casos regex utile pote ser trovate in OmegaT ipse (vide Optiones > Segmentation). Le lista sequente include expressiones que tu pote trovar utile quando cerca tra le memoria de traduction:

Table 17.11. Regex - Exemplos de expressiones regular in le traductiones

Expression regular Trova le sequente:
(\b\w+\b)\s\1\b parolas duple
[\.,]\s*[\.,]+ un virgula o un puncto, sequite per spatios e ancora un altere virgula o puncto
\. \s+$ spatios extra post le puncto al fin del linea
\s+a\s+[aeiou] Anglese: le parolas, incipiente con le vocales, debe generalmente esser precedite per "an", non "a"
\s+an\s+[^aeiou] Anglese: le mesme controlo quam ante, ma re le consonantes ("a", non "an")
\s{2,} plus que un spatio
\.[A-Z] Le puncto, sequite per un littera majuscule - possibilemente un spatio es mancante inter le periodo e le initio de un phrase nove?
\bis\b cerca pro “is”, non “this” o “isn't” et cetera.