um número de versão semântica
Casa com um número de versão semântica. Está ancorado nas duas pontas, então a cadeia inteira precisa casar. Não tem grupos de captura.
Padrão
/^\d+\.\d+\.\d+(?:-[0-9a-z.-]+)?(?:\+[0-9a-z.-]+)?$/i- Alcance
- a cadeia inteira
- Grupos de captura
- 0
- Flags
- i · ignorar maiúsculas
- O que captura no primeiro exemplo
- 1.0.0
Experimente
Digite qualquer texto e as partes capturadas serão marcadas. Tudo roda no seu navegador e nada é enviado.
1.0.0
1 correspondência
Exemplos que casam
- 1.0.0
- 2.1.3-beta.1
- 1.0.0+build5
Exemplos que não casam
- 1.0
- v1.0.0
Outras expressões do grupo
^(?:[01]\d|2[0-3]):[0-5]\d$uma hora no formato de 24 horas^(?:0?[1-9]|1[0-2]):[0-5]\d\s?(?:am|pm)$uma hora com am ou pm^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$um carimbo de tempo ISO completo^P(?=\d|T\d)(?:\d+Y)?(?:\d+M)?(?:\d+D)?(?:T(?:\d+H)?(?:\d+M)?(?:\d+S)?)?$uma duração ISO^\d+$um inteiro sem sinal^[+-]?\d+$um inteiro que pode ter sinal^-?\d+(?:\.\d+)?$um número que pode ter decimais^-?\d+(?:\.\d+)?[eE][+-]?\d+$um número em notação científicaComo 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 número de versão semântica?
^\d+\.\d+\.\d+(?:-[0-9a-z.-]+)?(?:\+[0-9a-z.-]+)?$, com a flag i.
Q. Quais cadeias casam?
Um texto como 1.0.0 casa; um como 1.0 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.