J'essaie d'écrire une expression régulière qui sera utilisée dans une zone de texte pour valider son contenu et déterminer s'il se situe entre 1 et 35. Les caractères de la zone de texte peuvent être n'importe quoi: numérique, alpha, ponctuation, espace, etc. Voici ce que j'ai jusqu'à présent:
^[:;,\-@0-9a-zA-Zâéè'.\s]{1,35}$
Comme vous pouvez le constater, je dois lister tous les personnages. Existe-t-il un moyen plus simple de dire "tous" les personnages?
Comme ça: .
Le .
signifie tout caractère sauf newline (qui est parfois mais n'est souvent pas inclus, vérifiez votre saveur de regex).
Vous pouvez réécrire votre expression en tant que ^.{1,35}$
, qui doit correspondre à n’importe quelle ligne de longueur 1-35.
C'est généralement le métacaractère .
quand il ne fait pas partie d'une classe de caractères.
Alors utilisez ^.{1,35}$
. Cependant, point n'inclut pas les retours à la ligne, sauf si le modificateur point-tout lui est appliqué.
Vous pouvez utiliser ^[\S\s]{1,35}$
sans aucun modificateur, ce qui inclut également les nouvelles lignes.
Oui, .
(point) correspond à n'importe quel caractère. Utilisation:
^.{1,35}$
Si vous souhaitez définir un compte Min 1 et aucune longueur Max,
^.{1,}$
Si vous souhaitez également faire correspondre les nouvelles lignes, vous pouvez utiliser "^[\s\S]{1,35}$"
(selon le moteur de regex). Sinon, comme d’autres l’ont dit, vous devriez utiliser "^.{1,35}$"