Vai al contenuto principale

Cifre e spazi nelle espressioni regolari

Impariamo a matchare le date con le regular expression in questa veloce guida. Impara ad usare le regular expression con imparare coding con Manuel

Questa è una lezione pocket, molto breve, ma perché il grosso è stato già affrontato nella lezione precedente su \b e \w, quindi qui andiamo via abbastanza lisci.

Il tema della lezione sono le cifre e gli spazi. Abbiamo già avuto modo di incontrare \s e \d nelle lezioni precedenti, ma non abbiamo avuto ancora l’occasione di fare conoscenza con \D e \S.

Come già accennato nelle lezioni precedenti le entità con la lettera maiuscola fanno il contrario di ciò che fa l’entità con la lettera minuscola.

Quindi, considerando che \s seleziona gli spazi, la sua controparte \S seleziona tutto ciò che non è spazio.

Mentre per quanto riguarda \d, entità che ci permette di selezionare i numeri, la sua controparte \D seleziona tutto ciò che non è un numero come lettere, simboli, spazi, ecc.

Questo è tutto ciò che c’è da sapere su questo tipo di entità, ma non sarebbe una lezione di Imparare Coding con Manuel senza un piccolo esercizio.

\d nelle espressioni regolari in pratica

Supponiamo di avere il seguente gruppo di date:

  • 24-10-2022
  • 4-8-2023
  • 25-12-92
  • 22-05-1993

Il vostro compito è quello di scrivere un’espressione regolare che individui queste date. Tutto ciò che vi serve è quasi stato tutto affrontato in questa lezione e in quelle precedenti. C’è un solo dettaglio che manca, ma è qui la sfida.

L’espressione regolare che si potrebbe usare è la seguente:

\d{1,2}-\d{1,2}-\d{2,4}

Quello che ho scritto lo possiamo interpretare così:

  • \d sappiamo essere l’entità che individua i numeri
  • {1,2} indica il numero di ripetizioni possibili, in questo caso specifico da 1 a 2
  • - è solo un trattino
  • {2,4} come prima, ma stavolta è da 2 a 4 (3 compreso)

Proviamo a complicare ulteriormente la faccenda. Le date ora sono queste:

  • 24/10/2022
  • 4-8-2023
  • 25/12/92
  • 22-05-1993

Questa è cattiva… Oltre al trattino ora dobbiamo pensare che potrebbe esserci lo slash. Anche questo l’abbiamo visto in precedenza, ma anche qui c’è una peculiarità in più.

L’espressione regolare che si potrebbe scrivere è la seguente:

\d{1,2}[\/|-]\d{1,2}[\/|-]\d{2,4}

Molto simile a quella precedente, ma vediamo ciò che non sappiamo:

  • [...] è il set di caratteri che vedremo nella prossima lezione
  • \/ nella data dobbiamo individuare lo slash, ma siccome lo slash è un carattere speciale, dobbiamo fare l’escape, annullare la sua specialità con il backslash che sappiamo avere la duplice funzione di rendere speciali i caratteri normali e normali i caratteri speciali
  • | è il carattere speciale che indica un’alternativa
  • - l’alternativa (rimane sempre e solo un trattino)

Conclusioni

Questa lezione pocket è stata decisamente più pratica, ma ha aggiunto un tassello fondamentale per poter meglio comprendere le espressioni regolari. Nella prossima lezione vediamo i set di caratteri.

Unisciti a WebTea

Niente spam. Solo contenuti formativi su Software Engineering.

Ci sono due cose che non ci piacciono: lo spam e il mancato rispetto della privacy. Seleziona come vuoi restare in contatto:

Preferenze di contatto

Usiamo Mailchimp come piattaforma di marketing. Cliccando su iscriviti, accetti la nostra privacy policy e che le tue informazioni vengano trasferite a Mailchimp per l'elaborazione. Termini e Privacy. Puoi disiscriverti in qualsiasi momento.