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 […]
  • 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 […]
  • Debug primitivo di applicazioni PHP7 Novembre 2008 Debug primitivo di applicazioni PHP Se vi trovate alla ricerca di errori in una pagina PHP, è possibile senza alcun IDE utilizzare queste semplici funzioni di PHP. echo Mostrare il testo all'utente; quindi anche variabili. N.B. echo non è una funzione PHP, ma è un costrutto, per questo non richede l'uso di […]

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