Regolarizziamo

Le espressioni regolari sono uno degli argomenti più ostici che ci si può trovare ad affrontare quando si usa un computer. Purtroppo sono anche una delle cose più utili, in particolare quando si cerca qualcosa che è sepolto nel disco rigido o quando si devono estrarre informazioni da grosse moli di dati.

Ma prima di tutto, cos’è una espressione regolare, o come si dice normalmente in gergo informatico, una regexp?

Definizione. Una espressione regolare è una sequenza di caratteri che definisce uno schema di ricerca (search pattern) di informazioni strutturate in modo più o meno preciso.

Ecco, la chiave di tutto sta proprio nella espressione “più o meno preciso“. Cercare una parola precisa in un file è piuttosto facile, molto meno facile è cercare tutte le possibili variazioni della stessa parola, oppure intere classi di parole.

Arrivato a questo punto dovrei fare qualche esempio più o meno complicato di uso delle espressioni regolari per risolvere qualche problema pratico, come scambiare il nome con il cognome in una lista di indirizzi, aggiungere http://, o meglio https://, a tutti gli indirizzi web presenti in un file, cercare i numeri degli ordini di acquisto di una azienda e trasformarli in un formato standardizzato.

Ma non mi sogno nemmeno di farlo, scappereste quasi tutti a gambe levate. Perché le espressioni regolari si apprezzano solo quando servono veramente, quando permettono di risparmiare tempo e fatica facendo svolgere al computer, invece che a noi, le noiose operazioni ripetitive per le quali è così portato.

Imparare ad usare le espressioni regolari

E allora come si può imparare ad usare queste benedette espressioni regolari?

Ci sono decine di libri e di tutorial che ne trattano, ne ho elencati alcuni nella bibliografia. Devo però ammettere che i libri e la maggior parte dei tutorial non li ho mai non dico letti ma nemmeno guardati, mi annoierebbero troppo con le loro sequenze di regole e regolette, terra-terra e quasi inutili o così acrobatiche da essere incomprensibili.

Molto meglio i siti web che insegnano ad usare in pratica le espressioni regolari: inserisci da una parte l’espressione regolare e dall’altra il testo in cui cercare e l’applicazione mette in evidenza tutte le sequenze di caratteri che soddisfano l’espressione inserita (le occorrenze), con una spiegazione più o meno dettagliata di quello che succede.

Fra tutti i siti di questo tipo, il mio preferito è regex101, veloce e con spiegazioni chiare e prive di inutili dettagli. Al secondo posto Debuggex, ottimo ma più complesso da usare, soprattutto le prime volte. Non male anche RegExr, che però interpreta le espressioni regolari inserite utilizzando il motore JavaScript del browser, che non è sempre compatibile al 100% con le espressioni regolari di altri linguaggi.

Ci sporchiamo le mani?

Tutto qui? Per ora si, questa voleva essere solo una piccolissima introduzione al mondo oggettivamente complicato delle espressioni regolari. Più o meno come mettere il dito nell’acqua per vedere se è fredda.

Se l’argomento interessa, si può andare avanti con l’esplorazione, magari partendo da problemi pratici non troppo banali (affrontabili con tecniche meno complesse), ma nemmeno tanto complicati da risultare ostici.

Che ne dite? Aspetto il vostro feedback nei commenti.

Bibliografia

Libri
Tutorial
Servizi online
  • regex101: an online regex tester and debugger.

  • Debuggex, an online visual regex tester.

  • RegExr: learn, build, & test regex.

Annunci
Tagged with: , ,
Pubblicato su programmazione
4 comments on “Regolarizziamo
  1. frix ha detto:

    I preliminari ben fatti fan venir voglia di proseguire..
    Vai!

    Mi piace

  2. gioaietano69 ha detto:

    Si, leggerei con piacere qualcosa sulle espressioni regolari che, non conosco, ma mi incuriosiscono. Grazie.

    Mi piace

  3. Paoloo ha detto:

    Le espressioni regolari sono state fidate compagne nel creare il parser js di Celldown.

    Mi piace

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Informativa
Questo sito utilizza cookie di terze parti per inviarti pubblicità e servizi in linea con le tue preferenze. Se vuoi saperne di più o negare il consenso a tutti o ad alcuni cookie, clicca qui. Scorrendo questa pagina, cliccando su un link o su qualunque altro elemento o proseguendo la navigazione in altra maniera, acconsenti all'uso dei cookie.
Follow MelaBit on WordPress.com
Categorie
Archivi
%d blogger hanno fatto clic su Mi Piace per questo: