Eccoci alla terza e ultima puntata della mini serie sulle espressioni regolari. Nello scorso articolo abbiamo visto cosa sono i quantificatori nelle espressioni regolari e come si usano. Questa volta andremo ancora più in profondità e mostreremo altri strumenti che rendono le espressioni regolari molto potenti.

Dai un’occhiata ai nostri approfondimenti relativi alle espressioni regolari cliccando —> QUI!

 

Pattern collections

Le pattern collections sono dei costrutti che permettono di fare un match per un gruppo di caratteri. Ad esempio, utilizzando la seguente espressione regolare:

La mia lettera preferita è [abc]

Restituirà un match con:

 

La mia lettera preferita è a

La mia lettera preferita è b

La mia lettera preferita è c

 

ma non con 

 

La mia lettera preferita è ab

La mia lettera preferita è f

 

Ecco alcuni pattern collection più comuni:

 

  • [A-Z] – Match con lettere maiuscole da “A” a “Z”
  • [a-z] – Match con lettere minuscole da “a” a “z”
  • [0-9] – Match con qualsiasi numero
  • [^asdf] – Match con qualsiasi carattere che non sia: “a”, “s”, “d”, o “f”

 

Espressioni regolari in azione

 

Vediamo un esempio reale di come una espressione regolare può semplificare drasticamente una funzione JavaScript,  ad esempio, supponiamo di voler sostituire in un testo saluti come “ciao” o “buongiorno” in “arrivederci. Una soluzione naive potrebbe essere:

 

function sostituisciSalutoConArrivederci(str) {

  str = str.replace(“ciao”, “Arrivederci”);

  str = str.replace(“Ciao”, “Arrivederci”);

 str = str.replace(“Buongiorno”, “Arrivederci”);

 str = str.replace(“buongiorno”, “Arrivederci”);

 

  return str;

}

 

Dove alla funzione sostituisciSalutoConArrivederci passiamo l’intero testo da verificare. Vediamo com possiamo raggiungere lo stesso risultato con una sola regular expression.

 

function sostituisciSalutoConArrivederci(str) {

  str = str.replace(/[Cc]iao|[Bb]uongiorno/, “Arrivederci”);

  return str;

}

 

Questa soluzione avrà esattamente lo stesso comportamento, ma ci fa risparmiare moltissime linee di codice, ed è comunque facile da testare.

 

Conclusione

In questa miniserie abbiamo cercato di concentrare i concetti base delle espressioni regolari. Siamo consapevoli che non è una guida esaustiva, ma se vuoi approfondire l’argomento i nostri docenti saranno felici di aiutarti, contattaci a amministrazione@laramind.com e in un attimo saremo da te.

Dai un’occhiata a tutti i nostri corsi a catalogo: PHP, Laravel, JavaScript e Vue.js!