Espressioni regolari in Mysql

Come scrivere un espressione regolari in Mysql

Quando in una tabella si devono cercate dei dati spesso si ricorre alle espressioni regolari che permettono di filtrare le informazioni secondo criteri sofisticati.

Le espressioni regolari possono essere codificate da SQL mediante la parola REGEXP che indica che l’espressione che segue dopo è un’espressione regolare.

Per comprendere il loro significato vengono riportati alcuni esempi

a. indica che deve essere trovato una qualunque stringa che abbia come lettera iniziale il carattere “a” come secondo e successivi qualunque carattere.

L’espressione regolare “.a” indica una qualunque stringa che termina con la “a”.

Il punto assume la funzione di carattere jolly all’interno dell’espressione regolare.

Se invece si inserisce la stringa [0-9]{lunghezza} viene cercata una qualunque sequenza di cifre da 0 a 9 di massimo tre caratteri minimo.

Quindi all’interno delle parentesi quadre si inseriscono l’intervallo di valori da cercare e nelle graffe la loro lunghezza minima.

Se si vuole cercare ad esempio la sequenza “.00” poiché come detto il punto è un carattere speciale delle espressioni regolari allora è opportuno utilizzare il meta carattere “\\” anteposto al punto per verificare che nella sequenza ci sia un punto. Quindi si ha che l’espressione regolare è “\\.00”.

Le espressioni regolari possono essere molto utili per controllare la correttezza di stringhe come da esempio un indirizzo email.

Una regola per controllare se un indirizzi email è corretto potrebbe essere:

[0-9]\\-\\_\\.[a-z]@[a-z][0-9]\\.[a-z][0-9]\\.[a-z][0-9]

Questa regola ci dice che nell’indirizzo email sono ammessi i caratteri alfabetici, i numeri, il punto e il trattino, il trattino basso e la chiocciola.

Tutte le regole viste sono applicate in modo indipendente a caratteri maiuscoli e minuscoli.

Link esterni di Risorse sulle espressioni regolarti

Link di Google sulle Espressioni Regolari