um nome de domínio
Casa com um nome de domínio. Está ancorado nas duas pontas, então a cadeia inteira precisa casar. Não tem grupos de captura.
Padrão
/^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,}$/- Alcance
- a cadeia inteira
- Grupos de captura
- 0
- O que captura no primeiro exemplo
- example.com
Experimente
Digite qualquer texto e as partes capturadas serão marcadas. Tudo roda no seu navegador e nada é enviado.
example.com
1 correspondência
Exemplos que casam
- example.com
- sub.example.co.kr
Exemplos que não casam
- example
- -bad.com
- example.c
Outras expressões do grupo
^[^\s@]+@[^\s@.]+(?:\.[^\s@.]+)+$um endereço de e-mail^https?://[^\s/$.?#][^\s]*$um endereço web^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)$um endereço IPv4^(?:[0-9a-f]{1,4}:){7}[0-9a-f]{1,4}$um endereço IPv6 escrito por extenso^(?:[0-9a-f]{2}[:-]){5}[0-9a-f]{2}$um endereço MAC^(?:6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|[1-5]?\d{1,4})$um número de porta^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$um UUID^#(?:[0-9a-f]{3}|[0-9a-f]{6})$um código de cor hexadecimalComo ler
- Com ^ e $ em volta, a cadeia inteira precisa casar; sem eles, a correspondência pode estar em qualquer lugar. Ancore sempre o que usar para validar.
- Os parênteses ( ) capturam o que envolvem. Se você só precisa agrupar, escreva (?: ) para a numeração não se deslocar.
- Cada expressão aqui é conferida com seus exemplos. Ainda assim, "parece um e-mail" e "é uma caixa real" são coisas diferentes.
- Repetições abertas aninhadas como (a+)+ podem explodir com certas entradas. Procure esse formato antes de colar uma expressão alheia.
Perguntas frequentes
Q. Qual é a regex para um nome de domínio?
^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,}$.
Q. Quais cadeias casam?
Um texto como example.com casa; um como example não.
Q. A cadeia inteira precisa casar?
Sim. Está entre ^ e $, então só passa uma correspondência completa.
Q. Como uso o que foi capturado?
Não há grupos de captura, então volta só a correspondência inteira (match[0]). Coloque entre parênteses a parte que precisar.