So funktioniert das Muster
| Teil | Bedeutung |
|---|---|
[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])? | Ein Label mit 1–63 Zeichen, das nicht mit einem Bindestrich beginnt oder endet |
\. | Ein Punkt nach jedem Label |
(?:…)+ | Ein oder mehrere Labels (Subdomains) |
[A-Za-z]{2,}$ | Die Top-Level-Domain |
Codebeispiele
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;
Hinweise und Einschränkungen
Internationalisierte Domains müssen zuerst in ihre Punycode-Form (xn--…) umgewandelt werden. Schlage die DNS-Einträge einer Domain mit dem DNS-Lookup nach.
Regex-Tester
Gib ein Muster ein und sieh zu, wie Übereinstimmungen in deinem Testtext in Echtzeit hervorgehoben werden.