um numeral romano
Casa com um numeral romano. Está ancorado nas duas pontas, então a cadeia inteira precisa casar. Não tem grupos de captura.
Padrão
/^M{0,3}(?:CM|CD|D?C{0,3})(?:XC|XL|L?X{0,3})(?:IX|IV|V?I{0,3})$/- Alcance
- a cadeia inteira
- Grupos de captura
- 0
- O que captura no primeiro exemplo
- XIV
Experimente
Digite qualquer texto e as partes capturadas serão marcadas. Tudo roda no seu navegador e nada é enviado.
XIV
1 correspondência
Exemplos que casam
- XIV
- MMXXIV
Exemplos que não casam
- IIII
- ABC
Outras expressões do grupo
^/(?:[^/\0]+/)*[^/\0]*$um caminho estilo Unix^[A-Za-z]:\\(?:[^\\/:*?"<>|]+\\)*[^\\/:*?"<>|]*$um caminho do Windows^</?[a-z][a-z0-9]*(?:\s[^<>]*)?/?>$uma etiqueta HTML^\.-?[_a-z][_a-z0-9-]*$um seletor de classe CSS^-?(?:90(?:\.0+)?|[1-8]?\d(?:\.\d+)?)$um valor de latitude^-?(?:180(?:\.0+)?|1[0-7]\d(?:\.\d+)?|\d{1,2}(?:\.\d+)?)$um valor de longitude^(?:0|[1-9]\d*)$um número sem zero à esquerda^\d*[02468]$um número parComo 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 numeral romano?
^M{0,3}(?:CM|CD|D?C{0,3})(?:XC|XL|L?X{0,3})(?:IX|IV|V?I{0,3})$.
Q. Quais cadeias casam?
Um texto como XIV casa; um como IIII 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.