Semplici espressioni regolari

- snippets

Le espressioni regolari sono delimitate, di solito un carattere barra /, e queste contengono un modello che descrive una stringa.

Di seguito alcuni semplici esempi:

  • /c[ao]sa/ : corrisponde a “casa” e a “cosa”

un’espressione che descrive qualcosa che contiene la lettera “c”, seguita da qualsiasi delle vocali “a” o “o”, seguito dalle lettere “sa”.

Per indicare un intervallo di caratteri:

  • /[0-9a-f]*/ : tutti valori esadecimale
  • /[0-9a-zA-Z]/ : corrisponde a tutte le stringhe alfanumeriche
  • /./ : il punto corrisponde a qualsiasi carattere
  • /\./ : si si vuole far corrispondere realmente un punto

cercare un punto, ad esempio in nome a dominio, è necessario farlo precedere da un backslash.

Il quantificatore va messo dopo il carattere (o intervallo di caratteri) per indicare il numero di occorrenze che ci dovrebbero essere. E’ possibile dare numeri precisi o utilizzare altri caratteri come:

  • /ab{2}/ : corrisponde ad un stringa che contiene due caratteri “b” di seguito, ad esempio “abb”
  • /ab{2,5}/ : corrisponde ad una stringa che contiene minimo 2 caratteri “b” e massimo 5, ad esempio “abb”, “abbb”, “abbbb” e “abbbbb”
  • “?” : 0 o 1 occorrenza
  • “+” : 1 o più occorrenze
  • “*” : 0 o più occorrenze

si noti che nei casi in cui indichiamo il numero di occorrenze massimo dobbiamo sempre specificare anche il numero di occorrenze minimo.

Facciamo un esempio:

  • /c[ao]+sa/ : corrisponde a “casa” e a “cosa”, ma anche a “caasa”, “cooosa”, etc.

C’è anche il simbolo |, che ha lo stesso significato dell’operatore OR:

  • /Ciao|ciao/ : corrisponde alla stringa “Ciao” oppure “ciao”.

Possiamo anche delimitare i modelli ad inizio e fine delle stringhe usando rispettivamente “^” e “$”:

  • /^c[ao]sa/ : corrisponde a “casa” ma non a “andare a casa”.

Se non ricordiamo tutte le regole per costruirci i nostri modelli di espressioni regolari possiamo utilizzare uno dei tanti cheat sheet stampabili che si trovano in rete.

Potrebbero Interessarti

  • Iterazione foreach degli array in JavaScript2 Agosto 2010 Iterazione foreach degli array in JavaScript Iterare gli array associativi in PHP è molto più semplice, ma proprio in questi giorni ho avuto l'esigenza di ottenere la stessa funzionalità in JavaScript, e mi sono reso conto di non saper come recuperare i dati da un array associativo con un ciclo nel linguaggio […]
  • Utilizzare le Viste in MySQL5 Agosto 2010 Utilizzare le Viste in MySQL Un errore particolarmente importante che fanno molti programmatori è mescolare la logica applicativa e il modello. Gli sviluppatori PHP, ad esempio, hanno la tendenza di mettere insieme una quantità tremenda di query SQL nella loro logica del sito web, con conseguente […]
  • Applicazioni Web Offline con HTML520 Giugno 2011 Applicazioni Web Offline con HTML5 HTML5 fornisce una nuova funzionalità di caching per supportare le applicazioni web in modalità offline. E' necessario specificare un determinato file chiamato "cache manifest" nella pagina web a cui vogliamo applicare il sistema di caching. L'URL del file cache […]
  • YourLi.st note e impegni direttamente sull’email4 Settembre 2008 YourLi.st note e impegni direttamente sull’email Capita molto spesso di utilizzare postazioni pubbliche o comunque non proprie per navigare sul web alla ricerca di informazioni. Quando non si ha una pen drive o comunque un supporto dove memorizzarle si è costretti a salvare su file le informazioni trovate e inviarle alla propria […]

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.