Questa pagina rappresenta solo una breve introduzione al concetto di espressioni regolari e non va considerata come esaustiva sull'argomento. Per ulteriori informazioni sull'argomento si consiglia di consultare l'opera Regular Expressions di Jeffrey E.F. Friedl, O'REILLY.
Le espressioni regolari sono schemi di ricerca utilizzabili per provare le stringhe. Ad esempio è possibile utilizzare un'espressione regolare per provare il testo di un messaggio IP o dei dati inviati tramite l'interfaccia seriale. Un'espressione regolare è formata da uno o più caratteri oggetto della ricerca e da caratteri speciali che svolgono determinate funzioni.
Esempio: |
Una macchina invia dei dati tramite l'interfaccia seriale come nell'esempio:
L'espressione regolare |
---|
Quando si cerca un carattere dalla colonna di sinistra della tabella sotto riportata, oppure la barra rovesciata "\" o il segno meno "-", farli precedere da una barra rovesciata "\
". Questa procedura è detta masking.
Carattere | Funzione |
---|---|
^ | Il carattere ^ indica l'inizio di una stringa. L'espressione ^Test è vera solo per le stringhe che iniziano con Test. |
$ | Il carattere $ indica la fine di una stringa. L'espressione Test$ è vera solo per le stringhe che terminano con Test.
|
. |
Il carattere punto funge da segnaposto per un carattere. L'espressione Per cercare il carattere . (punto) vero e proprio, effettuare il masking anteponendo una barra rovesciata "\". In questo caso l'espressione |
* | Il carattere asterisco verifica un numero illimitato di ripetizioni, compreso nessun carattere. L'espressione ab*c è vera per abc e abbbbbc, ma anche per ac.
|
+ | Il carattere più (+) è un operatore simile e verifica la ripetizione (una volta o un numero illimitato di volte) del carattere che lo precede. L'espressione ab+c è vera per abc, abbbbbc, ma non per ac.
|
? | Il punto interrogativo (?) indica che il carattere precedente può ripetersi una volta o mai. L'espressione ab?c è vera per abc e ac, ma non per abbc.
|
[ ] |
L'espressione racchiusa tra [parentesi quadre] rappresenta una classe di caratteri. Una classe di caratteri può essere definita come elenco o come intervallo. L'espressione Ad esempio, Il segno di accento circonflesso "^" nega il significato della serie di caratteri che lo segue. L'espressione |
cn, de, en, es, fr, it, jp |