Le espressioni regolari sono una particolare serie di regole per estrazione e/o modifica dei file di testo o dei flussi di testo mandati da un processo a un altro tramite il meccanismo della comunicazione interprocessuale. Si potrebbe anche definire “linguaggio” però, per evitare confusione, bisogna specificare che non si tratta di un linguaggio di programmazione ma di elaborazione di dati testuali. Le espressioni regolari possono essere - e nella maggior parte dei linguaggi moderni sono - integrate nei linguaggi di programmazione.
Le espressioni regolari sono ortogonali ai linguaggi di programmazione, le implementano per poter lavorare in modo più agevole con dati di natura testuale. Molti programmi per ufficio (es. LibreOffice) hanno implementata la gestione di espressioni regolari, come anche i redattori di testo (Emacs, Vim, ecc).
Di conseguenza, possono essere insegnate utilizzando diversi programmi applicativi o linguaggi di programmazione. Ovviamente ci sono linguaggi, o programmi, che si prestano meglio a questo compito e dipende dalle scelte del cliente come plasmeremo il nostro corso, che come per molti altri nostri corsi è personalizzabile.
Se dovessimo suggerire un linguaggio particolare nel quale svolgere la docenza, raccomanderemmo il Perl, in quanto per potenza e facilità d’uso delle espressioni regolari Perl non è secondo a nessuno. Lo dimostra anche il fatto che chiunque vuole indicare la potenza delle espressioni regolari nel proprio linguaggio di programmazione o programma applicativo tende a descriverle come Perl-compatibili.
Le espressioni regolari derivano dalla teoria degli automi. Vi possiamo raccomandare anche il nostro corso sugli automi nel caso dobbiate implementare un vostro motore per le espressioni regolari e per analisi dei testi, e ovviamente, non solo in quel caso. La conoscenza approfondita degli automi è indispensabile per qualsiasi ramo dello sviluppo dei programmi.