OmegaT 4.2- Manuale dell'Utente

Appendice D. Espressioni regolari

Le espressioni regolari (regex, in breve) ammesse per le operazioni di ricerca sono quelle riconosciute da Java. Per ulteriori e più specifiche informazioni, consultare la documentazione Java Regex. Vedere più avanti per ulteriori riferimenti ed esempi.

Nota

Questo capitolo si rivolge agli utenti avanzati, che hanno la necessità di definire le proprie varianti delle regole di segmentazione o costruire combinazioni di ricerca più complesse ed efficaci.

Tabella D.1. Regex - Flag
Il costrutto ...corrisponde al seguente
(?i) Consente di avviare una ricerca che non consideri le lettere maiuscole e minuscole (per impostazione predefinita, il modello distingue tra maiuscole e minuscole).

Tabella D.2. Regex - Carattere
Il costrutto ...corrisponde al seguente
x Viene rilevato il carattere corrispondente a x, ma con le seguenti eccezioni...
\uhhhh Viene rilevato il carattere col valore esadecimale 0xhhhh
\t Carattere di tabulazione ('\u0009')
\n Carattere corrispondente a un avanzamento di riga (line feed, LF) ('\u000A')
\r Carattere corrispondente a un ritorno di carrello (carriage-return, CR) ('\u000D')
\f Carattere corrispondente all'inizio di una nuova pagina in una stampa (form feed) ('\u000C')
\a Carattere di controllo bell ('\u0007')
\e Carattere escape ('\u001B')
\cx Carattere di controllo corrispondente a x
\0n Carattere col valore ottale 0n (0 <= n <= 7)
\0nn Carattere col valore ottale 0nn (0 <= n <= 7)
\0mnn Carattere col valore ottale 0mnn (0 <= m <= 3, 0 <= n <= 7)
\xhh Carattere col valore esadecimale 0xhh

Tabella D.3. Regex - Citazione
Il costrutto ...corrisponde al seguente
\ Nulla, se non il carattere immediatamente successivo. È necessario quando si desidera usare i metacaratteri !$()*+.<>?[\]^{|} in modo che vengano utilizzati come caratteri e non come operatori.
\\ Per esempio, questa combinazione corrisponde al carattere della barra rovesciata (“ \ ”).
\Q Nulla, ma indica tutti i caratteri fino a \E
\E Nulla, ma conclude la citazione iniziata da \Q

Tabella D.4. Regex - Classi per blocchi e categorie Unicode
Il costrutto ...corrisponde al seguente
\p{InGreek} Carattere nel blocco greco ( blocco semplice)
\p{Lu} Lettera maiuscola ( categoria semplice)
\p{Sc} Simbolo di valuta
\P{InGreek} Qualsiasi carattere, eccetto uno nel blocco greco (negazione)
[\p{L}&&[^\p{Lu}]] Qualsiasi lettera, eccetto una lettera maiuscola (sottrazione)

Tabella D.5. Regex - Classi di carattere
Il costrutto ...corrisponde al seguente
[abc] a, b o c (classe semplice)
[^abc] Qualsiasi carattere, eccetto a, b o c (negazione)
[a-zA-Z] Da "a" a "z" o da "A" a "Z", inclusi (intervallo)

Tabella D.6. Regex - Classi di carattere predefinite
Il costrutto ...corrisponde al seguente
. Qualsiasi carattere (eccetto i terminatori di riga)
\d Una cifra: [0-9]
\D Un carattere non numerico: [^0-9]
\s Un carattere di spazio bianco: [ \t\n\x0B\f\r]
\S Un carattere che non sia uno spazio bianco: [^\s]
\w Un carattere parola: [a-zA-Z_0-9]
\W Un carattere non-parola: [^\w]

Tabella D.7. Regex - Rilevatori di limitazione
Il costrutto ...corrisponde al seguente
^ Inizio di una riga
$ Fine di una riga
\b Limite di una parola
\B Limite di una non-parola

Tabella D.8. Regex - Quantificatori di ripetizione
Il costrutto ...corrisponde al seguente
X ? X, una sola volta oppure nessuna
X * X, zero o più volte
X + X, una o più volte

Nota

i quantificatori di ripetizione rileveranno tutte le ripetizioni possibili. Per esempio, a+ rileverà aaa in aaabbb

Tabella D.9. Regex - Quantificatori riluttanti (non ripetitivi)
Il costrutto ...corrisponde al seguente
X?? X, una sola volta oppure nessuna
X*? X, zero o più volte
X+? X, una o più volte

Nota

i quantificatori riluttanti rileveranno il minor numero di ripetizioni possibili. Per esempio, a+? rileverà la prima a in aaabbb

Tabella D.10. Regex - Operatori logici
Il costrutto ...corrisponde al seguente
XY X seguito da Y
X|Y X oppure Y
(XY) XY come gruppo singolo

Strumenti per le espressioni regolari ed esempi di utilizzo

Sono disponibili diversi strumenti interattivi dedicati allo sviluppo e alla verifica delle espressioni regolari. Essi seguono quasi tutti lo stesso schema (vedere sotto l'esempio preso dal Regular Expression Tester): l'espressione regolare (voce in alto) analizza il testo da ricercare (riquadro al centro), restituendo i risultati, mostrati nel riquadro dei risultati.

Figura D.1. Regex Tester
Regex Tester

Per eseguire verifiche con uno strumento indipendente, nelle versioni per Windows, Linux, Mac e FreeBSD, usare The Regex Coach. Funziona in modo quasi identico all'esempio di cui sopra.

In OmegaT è pure presente una buona raccolta di utili esempi regex (si veda Opzioni > Segmentazione). L'elenco seguente include espressioni che potrebbero risultare utili quando si eseguono ricerche attraverso la memoria di traduzione:

Tabella D.11. Regex - Esempi di espressioni regolari nelle traduzioni
Espressione regolare Trova il seguente:
(\b\w+\b)\s\1\b doppie parole
[\.,]\s*[\.,]+ virgola o punto, seguiti da spazi e ancora un'altra virgola o punto
\. \s+$ spazi aggiuntivi dopo un punto alla fine di una riga
\s+a\s+[aeiou] Inglese: le parole inizianti per vocali devono essere in genere precedute da "an" e non "a"
\s+an\s+[^aeiou] Inglese: stesso controllo di cui sopra ma per le consonanti ("a", non "an")
\s{2,} più di uno spazio
\.[A-Z] Punto, seguito da una lettera maiuscola - forse uno spazio mancante tra un punto e l'inizio di una nuova frase?
\bis\b cerca “is”, non “this” o “isn't”, ecc.