A cosa serve e come si usa questa regex?
Pattern senza ancoraggi con word boundary per individuare ed estrarre tutti gli indirizzi email presenti in un testo non strutturato.
Espressione Regolare (Pattern)
Flag consigliati:
g · Motori compatibili: JavaScript, PCRE/PHP, Python, Go, .NET
\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b
Integrazione nel codice
Snippet pronti all'uso// JavaScript (ES6+)
const regex = /\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/g;
const isValid = regex.test(text);
// Estrazione match
const matches = text.match(regex);
<?php
// PHP 8.2+ (PCRE)
$pattern = '~\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b~g';
$isValid = (bool) preg_match($pattern, $text);
// Estrazione con gruppi
if (preg_match($pattern, $text, $matches)) {
print_r($matches);
}
# Python 3 (re)
import re
pattern = r"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b"
is_valid = bool(re.search(pattern, text))
# Estrazione match
match = re.search(pattern, text)
if match:
print(match.group(0))
// Go (regexp)
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile(`\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b`)
isValid := re.MatchString(text)
fmt.Println(isValid)
}
// C# (.NET)
using System;
using System.Text.RegularExpressions;
bool isValid = Regex.IsMatch(text, @"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b");
Come funziona (Spiegazione dettagliata)
\bdelimita i bordi delle parole evitando match parziali errati.- Cattura la porzione utente,
@, dominio e TLD. - Con il flag globale
gestrae tutte le occorrenze nel documento.
Casi d’uso consigliati
- Scraping e pulizia dati da testi o documenti PDF/OCR
- Estrazione contatti da email o log
- Mascheramento dati personali (anonimizzazione GDPR)
Esempi che corrispondono (Validi)
3 test passatiContattaci a info@example.com per assistenza.
Email: team@dev.org oppure support@oceweb.net
Scrivi a admin.help@azienda.it per informazioni
Esempi rifiutati (Non validi)
2 test respintiTesto privo di indirizzi chiocciola senza-utente
Solo numeri 123456 e parole senza simboli email
Limiti tecnici e avvertenze
- Potrebbe catturare falsi positivi se il testo contiene codice sorgente con annotazioni
@o nomi file.
Espressioni regolari correlate
Base
Email — validazione pratica
Regex pratica per verificare la forma sintattica di un indirizzo email comune nei form web, senza la complessità estrema di RFC 5322.
Vedi scheda
Intermedio
Email conforme RFC 5322 (Standard)
Pattern raccomandato dagli standard W3C/HTML5 per il tag input type="email", coprendo caratteri speciali consentiti nella parte locale.
Vedi scheda
Base
Email con dominio specifico
Verifica che un indirizzo email appartenga obbligatoriamente a un dominio o a suoi sottodomini autorizzati.
Vedi scheda
Verifica empirica
Apri nel tester
Hai bisogno di collaudare questo pattern con i tuoi dati?
Apri il tester sandboxato con questa regex già caricata e verifica i gruppi di cattura.