Correspondance régulière : commençant par une lettre minuscule et se terminant par une lettre minuscule, il peut y avoir un tiret (-) au milieu et la longueur est inférieure à 32 caractères
var ss = /^[a-z]+([A-Za-z0-9_]|(-?)|[a-z]+$){1,31}/;
str="ss-fjdkkldjkskjdskjdksjdkjdkjklskssdkdkffdkdfkdfk";
ss.test(str);
Le résultat renvoyé est
vrai
Normalement, il devrait renvoyer faux.
{1,31} signifie que la plage avant la correspondance est comprise entre 1 et 31. Pourquoi la correspondance est-elle incorrecte ?
Ma compréhension de cette expression régulière est qu'elle commence par les lettres a-z, puis le contenu entre () apparaît 1 à 31 fois
() signifie A-Z a-z 0-9 _ - n'importe lequel d'entre eux peut apparaître >= 1 fois.
L'expression régulière peut être écrite comme ceci