XKCD: Espressioni Regolari

LEGANERD 039645

Aspettate, ho dimenticato di mettere l’escape ad uno spazio. Wheee[taptaptap]eeeee.

Il perl è un linguaggio di programmazione interpretato come Python, del quale abbiamo già parlato, ma più recente di questo, il cui merito principale è stato quello di usare per primo -e quindi proporne una formalizzazione nell’ambito della programmazione- le espressioni regolari.
Nate negli anni Quaranta ed iniziate ad essere usate in Unix alla fine degli anni Sessanta, le espressioni regolari (abbreviate in regex) sono un formalismo per rappresentare insiemi di stringhe utile per eseguire ricerca e sostituzione in un testo.
Oltre ad essere usate nei linguaggi di programmazione -dove sono state esportate da perl a Java ad esempio-, vengono usate in editor di testo o in utility dei sistemi operativi Unix/Linux, come grep o rename.
Per proporre un caso reale, ho una cartella con millemila foto contenenti nel nome del file degli spazi, voglio sostituire gli spazi con underscore, risolvo eseguendo con la shell puntata in tale cartella un semplice comando

rename ‘s/ /_/’ *.jpg

Vignetta originale su XKCD.