Le espressioni regolari (regex) sono un potente strumento per la ricerca e l'elaborazione del testo. Possono sembrare complicati, ma i concetti di base sono in realtร semplici. Questa guida ti aiuterร a iniziare.
Cosa sono le espressioni regolari?
Un'espressione regolare รจ un modello per la ricerca nel testo. Ad esempio, un'espressione\d{3}-\d{2}-\d{2}troverai tutti i numeri di telefono nel formato 123-45-67.
Sintassi di base
Simboli
.- qualsiasi singolo carattere\dโ numero (0-9)\wโ lettera, numero o trattino basso\sโ carattere spazio (spazio, tabulazione)[abc]โ uno dei simboli a, b o c[^abc]โ qualsiasi simbolo tranne a, b, c
Quantificatori
*โ 0 o piรน ripetizioni+โ 1 o piรน ripetizioni?โ 0 o 1 ripetizione{3}- esattamente 3 ripetizioni{2,5}โ da 2 a 5 ripetizioni
Ancore
^- l'inizio della riga$- la fine della linea\bโ limite di parole
Esempi pratici
Convalida e-mail
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
Telefono (Ucraina)
^\+?380\d{9}$
Indirizzo URL
^https?:\/\/[\w.-]+\.[a-z]{2,}(\/\S*)?$
Indirizzo IP (IPv4)
^(\d{1,3}\.){3}\d{1,3}$
Data (GG.MM.AAAA)
^(0[1-9]|[12]\d|3[01])\.(0[1-9]|1[0-2])\.\d{4}$
Testare le espressioni regolari
UsaloTester Regex Xuveroper testare le tue espressioni in tempo reale. Lo strumento evidenzia le corrispondenze e mostra i gruppi di acquisizione.
Regex in diversi linguaggi di programmazione
JavaScript
const pattern = /^\d{3}-\d{2}-\d{2}$/;
pattern.test("123-45-67"); // true
Pitone
import re
re.match(r'^\d{3}-\d{2}-\d{2}$', "123-45-67") # Match object
PHP
preg_match('/^\d{3}-\d{2}-\d{2}$/', "123-45-67"); // 1
Errori comuni
- Avariziaโ
.*catturare il piรน possibile. Usalo.*?per una sovrapposizione minima - I caratteri speciali non vengono sottoposti a escape- punto e basta
.senza\corrisponde a qualsiasi carattere - Ancore dimenticate- senza
^E$l'espressione troverร corrispondenze parziali