Sono un linguaggio per descrivere la “forma” o la “sintassi” di una stringa (una stringa è un testo qualunque, di qualunque lunghezza, una sequenza di caratteri). Con esso si possono effettuare ricerche, e quindi sostituzioni, molto complesse! Verificare che un testo sia conforme ad alcune caratteristiche e segue una certa sintassi (per esempio verificare se un testo è un indirizzo email o un url valido).

NOTA: talvolta le regex hanno piccole differenze tra un programma e l’altro o tra un linguaggio di programmazione ed un altro ma il loro concetto ed utilizzo resta lo stesso. Noi qui vedremo le regex con il comando ‘sed’.

Questo articolo sulle regexp fa parte di una serie di guide sul mio blog ed è un prerequisito per comprendere a fondo l’uso di sed e awk. Se invece volete un piccolo esempio di cosa si può fare con le regex date un occhiata a questo articolo.

L’articolo verrà aggiornato se le mie conoscenze sull’argomento migliorassero ma lo ritengo già abbastanza completo.

Ogni regex comincia e finisce con il carattere slash (/): così: /regex/. Se il testo contenuto tra i due slash è testo semplice verrà ricercata esattamente quella sequenza di caratteri (distinguendo tra maiuscole e minuscole) ma esistono alcuni caratteri particolari che se inseriti all’interno della regex hanno un significato diverso dal loro simbolo, ne vedremo solo alcuni:

(altro…)