J'essaie d'écrire un expression régulière qui ne permettra que des lettres minuscules et jusqu'à 10 caractères. Ce que j'ai jusqu'ici ressemble à ceci:
pattern: /^[a-z]{0,10}+$/
Cela ne fonctionne pas ou ne compile pas. J'en avais un qui fonctionnait, mais qui autorisait seulement les lettres minuscules:
pattern: /^[a-z]+$/
Mais je dois limiter le nombre de caractères à 10.
Vous pouvez utiliser des accolades pour contrôler le nombre d’occurrences. Par exemple, cela signifie 0 à 10:
/^[a-z]{0,10}$/
Les options sont:
Voir le référence de l'expression régulière .
Votre expression avait un + après l'accolade fermante, d'où l'erreur.
/^[a-z]{0,10}$/
devrait fonctionner. /^[a-z]{1,10}$/
si vous voulez faire correspondre au moins un caractère, comme le fait /^[a-z]+$/
.
Il peut être intéressant d’ajouter une correspondance gourmande à la fin de la chaîne, de sorte que vous puissiez accepter des chaînes supérieures à 10 et que l’expression régulière ne renvoie que les 10 premiers caractères. /^[a-z0-9]{0,10}$?/
grep '^[0-9]\{1,16\}' | wc -l
Donne les comptes avec le nombre de correspondances exactes avec la limite