- Il carattere . (punto) nella R.E. viene soddisfatto
da qualunque carattere nella stringa originale.
"La Vispa Teresa" =~ /Vi..a T....a/
- Si può richiedere il valore letterale di
un qualunque carattere speciale
(+?.*^$(){}|\) precedendolo con \.
"La Vispa Teresa?" =~ /Teresa\?/
- La richiesta di un carattere o di un'espressione fra parentesi può essere
"moltiplicata" con l'uso di quantificatori.
- * Richiede che il carattere (o l'espressione fra parentesi) che
precede sia ripetuta zero o più volte. L'equivalente della
wildcard alla quale gli utenti di qualsiasi sistema operativo
sono abituati è .*
"La Vispa Teresa" =~ /La.*Teresa/
- + Richiede che il carattere (o l'espressione fra parentesi) che
precede sia ripetuta una o più volte.
"avea tra l'erbetta" =~ /erbet+a/
- ? Richiede che il carattere (o l'espressione fra parentesi) che
precede sia ripetuta zero o una volta.
"La 'Vispa Teresa'" =~ /La '?Vispa/ =~ "La Vispa Teresa"
- {M,N} Richiede che il carattere (o l'espressione fra parentesi)
che precede sia ripetuta un minimo di M ed un massimo di N
volte.
- Attenzione: questi quantificatori "consumano"
quanti più caratteri possibili nella stringa originale (greedy
matching).
- La R.E. si può anche "ancorare" ad un punto preciso della stringa alla
quale viene confrontata:
- ^ Richiede che l'inizio della stringa si trovi nella posizione
indicata.
/^La Vispa/ =~ "La Vispa Teresa" !~ /^Vispa/
- $ Richiede che la fine della stringa si trovi nella
posizione indicata.
/Teresa$/ =~ "La Vispa Teresa" !~ /Vispa$/
- Anziché richiedere un carattere preciso, si può richiedere che un
carattere della stringa originale sia compreso in un gruppo
o una serie di caratteri con [caratteri].
/V[ispa]{4,4} T[ersa]{5,5}/ =~
"La Vispa Teresa" =~
/La V[A-Za-z]{4,4} T[A-Za-z]{5,5}/
- Oppure si può chiedere che NON compaia un gruppo od una serie di
caratteri con [^caratteri].
/V[^jkwxy]+ T[^jkwxy]+/ =~
"La Vispa Teresa" =~
/[^ ]+ Teresa/
=~ "La Furba Teresa"
- Si può anche utilizzare il simbolo | (alternatore),
assieme alle parentesi, per realizzare
una funzione di OR logico:
"La Vispa Teresa" =~
/(Vispa|Furba) Teresa/ =~
"La Furba Teresa"
- Ci sono poi metodi più astuti (ma non universali) per rappresentare un gruppo
di caratteri. Ecco cosa offre Perl, il noto linguaggio di scripting:
Ecco un breve estratto della guida pratica di Perl, con indicate le parti
che sono specifiche di Perl: