Costrutti delle espressioni regolari

Le espressioni regolari (regex, in breve) ammesse per le operazioni di ricerca sono quelle riconosciute da Java. Se si desiderano ulteriori informazioni, consultare la pagina http://java.sun.com/j2se/1.5/docs/api/java/util/regex/Pattern.html. Vedere più avanti per ulteriori riferimenti ed esempi. 

Flag

Caratteri

Citazioni

Classi per blocchi e categorie Unicode

Classi di caratteri

Classi di carattere predefinite

Rilevatori di limitazione

Quantificatori di ripetizione

Quantificatori riluttanti (non ripetitivi)

Operatori logici

Strumenti per le espressioni regolari ed esempi di utilizzo

    

 


Il costrutto...

...corrisponde al seguente:


Flag

(?i)

Consente di avviare una ricerca che non consideri le lettere maiuscole e minuscole (per impostazione predefinita, il modello distingue tra maiuscole e minuscole).


Caratteri

x

Viene rilevato il carattere corrispondente a x, ma con le seguenti eccezioni...

\uhhhh

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


Citazioni

\

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


Classi per blocchi e categorie Unicode

\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)


Classi di caratteri

[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, compresi (intervallo)


Classi di carattere predefinite

.

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]


Rilevatori di limitazione

^

Inizio di una riga

$

Fine di una riga

\b

Limite di una parola

\B

Limite di una non-parola


Quantificatori di ripetizione

Rileveranno tutte le ripetizioni possibili. Per esempio, a+ rileverà aaa in aaabbb

X?

X, una sola volta oppure nessuna

X*

X, zero o più volte

X+

X, una o più volte


Quantificatori riluttanti (non ripetitivi)

Rileveranno il numero minimo possibile. Per esempio, a+? rileverà la prima a in aaabbb

X??

X, una sola volta oppure nessuna

X*?

X, zero o più volte

X+?

X, una o più volte


Operatori logici

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 un esempio all'interno di un plugin per Firefox): l'espressione regolare (voce in alto) analizza il testo da ricercare (riquadro al centro), restituendo i risultati, mostrati nel riquadro dei risultati.

plugin per Firefox per la verifica delle espressioni regolari

Per eseguire verifiche con uno strumento indipendente, nelle versioni per Windows, Linux, Mac e FreeBSD, usare The Regex Coach, che 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:

Espressione regolare Trova il seguente:
(\b\w+\b)\s\1\b
doppie parole 
[\.,]\s*[\.,]+ t virgole e punti  mischiati
\. \s$ spazi aggiuntivi, che seguono il punto alla fine della riga
\s+a\s+[aeiou]  Inglese: le parole, inizianti per vocali, devono essere precedute da "an" e non "a"
\s+an\s+[^aeiou]  Inglese: stesso controllo di cui sopra ma per le consonanti ("a", non "an")
\s\s+ più di uno spazio
\.[A-Z] spazio mancante tra un punto e l'inizio di una nuova frase



Avvertenze legali Pagina iniziale Indice