Cómo funciona el patrón
| Parte | Significado |
|---|---|
[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])? | Una etiqueta de 1–63 caracteres que no empieza ni termina con un guion |
\. | Un punto después de cada etiqueta |
(?:…)+ | Una o más etiquetas (subdominios) |
[A-Za-z]{2,}$ | El dominio de nivel superior |
Ejemplos de código
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;
Notas y limitaciones
Los dominios internacionalizados deben convertirse primero a su forma punycode (xn--…). Consulta los registros de un dominio con el DNS Lookup.
Probador de expresiones regulares
Escribe un patrón y observa cómo se resaltan las coincidencias en tiempo real en tu texto de prueba.