Brook Preloader

Espressioni Regolari (RegEx), introduzione

Introduzione alle Espressioni Regolari (RegEx)

Le espressioni regolari (o RegEx) sono costituite da una serie di caratteri che definiscono un pattern di ricerca. I caratteri delle regex sono divisi in due categorie: caratteri normali e caratteri speciali.

I caratteri normali sono semplici lettere, numeri e simboli che corrispondono esattamente a se stessi nella stringa di input. Ad esempio, la lettera “a” corrisponderà solo alla lettera “a” nella stringa di input.

I caratteri speciali, d’altra parte, hanno un significato specifico all’interno delle regex e possono essere utilizzati per creare pattern di ricerca più flessibili e sofisticati. Alcuni esempi di caratteri speciali comuni includono:

  • . (punto): corrisponde a qualsiasi carattere, ad eccezione del carattere di fine riga \n. Ad esempio, la regex c.t corrisponde a “cat”, “cot”, “cut”, ma non a “c\n\n”.

  • ^ (cappuccio): corrisponde all’inizio della stringa di input. Ad esempio, la regex ^hello corrisponde solo alle stringhe che iniziano con “hello”.

  • $ (dollaro): corrisponde alla fine della stringa di input. Ad esempio, la regex world$ corrisponde solo alle stringhe che terminano con “world”.

  • * (asterisco): corrisponde a zero o più occorrenze del carattere o gruppo di caratteri precedente. Ad esempio, la regex ab*c corrisponde a “ac”, “abc”, “abbc”, “abbbc”, e così via.

  • + (più): corrisponde a una o più occorrenze del carattere o gruppo di caratteri precedente. Ad esempio, la regex ab+c corrisponde a “abc”, “abbc”, “abbbc”, e così via, ma non a “ac”.

  • ? (punto interrogativo): corrisponde a zero o una occorrenza del carattere o gruppo di caratteri precedente. Ad esempio, la regex ab?c corrisponde a “ac” e “abc”, ma non a “abbc”.

  • [] (parentesi quadrate): definisce un insieme di caratteri tra cui cercare. Ad esempio, la regex [abc] corrisponde a “a”, “b” o “c”. È possibile utilizzare anche gli intervalli, ad esempio [a-z] corrisponde a tutte le lettere minuscole dell’alfabeto inglese.

  • () (parentesi tonde): definisce un gruppo di caratteri da utilizzare per applicare altri caratteri speciali, come ad esempio i quantificatori, a un insieme di caratteri. Ad esempio, la regex (ab)+ corrisponde a “ab”, “abab”, “ababab”, e così via.

Per utilizzare le regex, si crea prima un’istanza di un oggetto Pattern, che viene creato utilizzando la classe Pattern di Java. Quindi si usa l’oggetto Pattern per creare un oggetto Matcher, che verrà utilizzato per eseguire la ricerca del pattern nella stringa di input. Il Matcher offre una serie di metodi per eseguire la ricerca, come ad esempio find(), matches() o replaceFirst().