Fonctionnement du modèle
| Partie | Signification |
|---|---|
[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])? | Un libellé de 1 à 63 caractères qui ne commence ni ne se termine par un tiret |
\. | Un point après chaque libellé |
(?:…)+ | Un ou plusieurs libellés (sous-domaines) |
[A-Za-z]{2,}$ | Le domaine de premier niveau |
Exemples de code
JavaScript
const re = /^(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\.)+[A-Za-z]{2,}$/;
re.test(value); // true or falsePython
import re
bool(re.fullmatch(r'(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\.)+[A-Za-z]{2,}', value))PHP
preg_match('/^(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\.)+[A-Za-z]{2,}$/', $value) === 1;
Notes et limites
Les domaines internationalisés doivent d’abord être convertis sous leur forme punycode (xn--…). Consultez les enregistrements d’un domaine avec la Recherche DNS.
Testeur d’expressions régulières
Saisissez un modèle et observez les correspondances s'afficher en temps réel dans votre texte de test.