Regex Cheat Sheet
Riferimento espressione regolare interattiva con test dei pattern live ed esempi copiabili con un clic.
Tester in Tempo Reale
Anchors
| Motivo | Descrizione | |
|---|---|---|
| ^ | Start of string / line | |
| $ | End of string / line | |
| \b | Word boundary | |
| \B | Non-word boundary | |
| \A | Start of string only | |
| \Z | End of string only |
Quantifiers
| Motivo | Descrizione | |
|---|---|---|
| * | 0 or more times | |
| + | 1 or more times | |
| ? | 0 or 1 time (optional) | |
| {n} | Exactly n times | |
| {n,} | n or more times | |
| {n,m} | Between n and m times | |
| *? | Lazy 0 or more | |
| +? | Lazy 1 or more |
Character Classes
| Motivo | Descrizione | |
|---|---|---|
| . | Any character except newline | |
| \d | Digit [0-9] | |
| \D | Non-digit | |
| \w | Word char [a-zA-Z0-9_] | |
| \W | Non-word character | |
| \s | Whitespace | |
| \S | Non-whitespace | |
| [abc] | Character set — a, b, or c | |
| [^abc] | Negated set — not a, b, or c | |
| [a-z] | Character range |
Groups & Alternation
| Motivo | Descrizione | |
|---|---|---|
| (abc) | Capturing group | |
| (?:abc) | Non-capturing group | |
| (?<name>abc) | Named capturing group | |
| (?=abc) | Positive lookahead | |
| (?!abc) | Negative lookahead | |
| (?<=abc) | Positive lookbehind | |
| (?<!abc) | Negative lookbehind | |
| a|b | Alternation — a or b |
Flags
| Motivo | Descrizione | |
|---|---|---|
| g | Global — find all matches | |
| i | Case-insensitive | |
| m | Multiline — ^ and $ match line boundaries | |
| s | Dotall — . matches newline too | |
| u | Unicode mode | |
| y | Sticky — match at exact position |
Common Patterns
| Motivo | Descrizione | |
|---|---|---|
| ^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,}$ | Email address | |
| https?:\/\/[\w\-._~:/?#[\]@!$&'()*+,;=%]+ | URL (http/https) | |
| ^\+?[1-9]\d{1,14}$ | Phone number (E.164) | |
| ^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$ | Date (YYYY-MM-DD) | |
| ^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$ | IPv4 address | |
| ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$ | UUID v4 | |
| ^#(?:[0-9a-fA-F]{3}){1,2}$ | Hex color code | |
| ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$ | Strong password (min 8 chars, upper+lower+digit) |
Fai clic su un motivo per caricarlo nel tester
Informazioni sullo strumento
Le espressioni regolari sono un potente linguaggio di corrispondenza di schemi utilizzato nella programmazione, nell'elaborazione dei dati, nell'analisi del testo e in innumerevoli applicazioni. Imparare le regex può sembrare opprimente a causa della sua sintassi concisa e numerosi caratteri speciali, ma comprendere i fondamenti——ancoraggi, quantificatori, classi di caratteri, gruppi e lookarounds——sblocca la capacità di risolvere problemi di testo complessi elegantemente. Questo Foglio di aiuto Regex riunisce i modelli e i concetti più essenziali in un riferimento interattivo.
Semplicemente sfoglia i modelli e i concetti curati raggruppati per categoria: ancoraggi (^, $, \b), quantificatori (*, +, ?, {n,m}), classi di caratteri ([...], \d, \s), gruppi e acquisizioni (..., ?:...), e lookarounds (lookaheads e lookbehinds positivi e negativi). Il tester di schemi dal vivo ti consente di inserire la tua stringa di prova e regex propria per vedere i risultati evidenziati in tempo reale. Copia qualsiasi modello con un singolo clic e incollalo direttamente nel tuo codice o nello strumento di debug regex.
Aggiungi questo strumento ai segnalibri ogni volta che hai bisogno di un aggiornamento rapido della sintassi. Che tu stia convalidando indirizzi e-mail, analizzando file di registro, estraendo dati da HTML, ripulendo stringhe disordinate o cercando nel codice, le espressioni regolari sono indispensabili. I modelli mostrati sono compatibili con la maggior parte dei linguaggi (JavaScript, Python, Java, Go, ecc.), sebbene alcune funzionalità avanzate varino leggermente tra le implementazioni.
Domande Frequenti
Implementazione del Codice
import re
# Common regex patterns
email_pattern = r'^[w.-]+@[w.-]+.[a-zA-Z]{2,}$'
url_pattern = r'https?://[w-._~:/?#[]@!$&'()*+,;=%]+'
ipv4_pattern = r'^(?:(?:25[0-5]|2[0-4]d|[01]?dd?).){3}(?:25[0-5]|2[0-4]d|[01]?dd?)$'
# Test email
email = "user@example.com"
if re.match(email_pattern, email):
print(f"{email} is valid")
# Find all matches
text = "Contact us at info@example.com or support@test.org"
emails = re.findall(r'[w.-]+@[w.-]+.[a-zA-Z]{2,}', text)
print("Found emails:", emails)
# Named groups
date_text = "Today is 2024-03-15"
match = re.search(r'(?P<year>d{4})-(?P<month>d{2})-(?P<day>d{2})', date_text)
if match:
print(f"Year: {match.group('year')}, Month: {match.group('month')}")
# Substitution
result = re.sub(r's+', ' ', "hello world foo").strip()
print(result) # "hello world foo"Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.