Espressioni regolari come linguaggio

Il linguaggio delle espressioni regolari è progettato e ottimizzato per la modifica del testo. Il linguaggio utilizza due tipi fondamentali di caratteri: caratteri effettivi (normali) e metacaratteri. La capacità di elaborazione delle espressioni regolari deriva dal set di metacaratteri.

È probabile che i metacaratteri ? e *, utilizzati con il file system DOS per rappresentare un carattere singolo o gruppi di caratteri, siano già noti. Il comando DOS COPY *.DOC A: consente al file system di copiare tutti i file con estensione di nome file DOC sul disco nell'unità A. Il metacarattere * indica qualsiasi nome di file davanti all'estensione DOC. Le espressioni regolari ampliano notevolmente questo concetto di base, poiché forniscono un vasto set di metacaratteri che rendono possibile descrivere espressioni per criteri di ricerca testo molto complesse con pochi caratteri.

L'espressione regolare \s2000, ad esempio, quando viene applicata al corpo del testo, è soddisfatta da tutte le occorrenze della stringa "2000" precedute da un carattere di spazio, come uno spazio o una tabulazione.

Nota

Se si utilizza C++, C# o JScript, è necessario far precedere i caratteri di escape speciali, quale \s, da un'ulteriore barra rovesciata, ad esempio "\\s2000", per indicare che la barra rovesciata nel carattere di escape è un carattere letterale. In caso contrario, il modulo di gestione dell'espressione regolare considera la barra rovesciata e la s di \s come due operatori separati. Se si utilizza Visual Basic 2005, non è necessario aggiungere la barra rovesciata. Se si utilizza C#, è possibile utilizzare le stringhe di C#, che sono precedute dal prefisso @, e disattivare il carattere di escape (ad esempio @"\s2000").

Tramite le espressioni regolari è anche possibile effettuare ricerche più complesse. L'espressione regolare (?<char>\w)\k<char>, ad esempio, che utilizza i gruppi e i backreference denominati, consente di cercare i caratteri abbinati adiacenti. Se applicata alla stringa "I'll have a small coffee", trova le corrispondenze nelle parole "I'll", "small" e "coffee". Per ulteriori informazioni su questa espressione regolare, vedere Backreference.)

Nelle sezioni riportate di seguito viene illustrato l'insieme dei metacaratteri che definiscono il linguaggio delle espressioni regolari di .NET Framework e viene descritto come implementare le espressioni regolari nelle applicazioni utilizzando le apposite classi.

Vedere anche

Riferimenti

System.Text.RegularExpressions

Concetti

Classi di espressioni regolari

Altre risorse

Dettagli sul funzionamento delle espressioni regolari
Esempi di espressioni regolari
Elementi del linguaggio di espressioni regolari