Maison  >  Article  >  interface Web  >  Comment restreindre la longueur des caractères dans les expressions régulières ?

Comment restreindre la longueur des caractères dans les expressions régulières ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-17 03:38:03279parcourir

How to Restrict Character Length in Regular Expressions?

Restriction de la longueur des caractères dans les expressions régulières

Lors de l'utilisation d'expressions régulières pour valider la saisie, il peut être nécessaire de limiter la longueur des caractères dans le correspondre. Ceci peut être réalisé en utilisant des ancres et des assertions de largeur nulle.

L'exemple fourni dans la question utilise une expression régulière pour faire correspondre des chaînes contenant uniquement des lettres, des chiffres et certains caractères spéciaux, sans restriction de longueur de caractères. Cependant, lorsque vous tentez de limiter la longueur à 15 caractères à l'aide du quantificateur {1,15}, une erreur de syntaxe est rencontrée.

La raison en est que les quantificateurs ne peuvent pas être appliqués aux ancres. Pour limiter la longueur des caractères, une approche alternative consiste à utiliser une anticipation ancrée au début de la chaîne.

L'expression modifiée :

^(?=.{1,15}$)[a-zA-Z0-9]*[^$%^&amp;*;:,<>?()"]*$

Cette expression inclut une anticipation, (?= .{1,15}$), qui vérifie une séquence de 1 à 15 caractères à la fin de la chaîne. La partie principale de l'expression compare la longueur de la chaîne d'entrée.

De même, les expressions peuvent être conçues pour différents langages de programmation :

Flavor Expression
ECMAScript, C ^(?=.{1,15}$)[a-zA-Z0-9]*[^$%^&amp;*;:,<>?()"]*$
Other regex flavors, Python A(?=.{1,15}z)[a-zA-Z0-9]*[^$%^&*;:,<>?()"]*z

Considérations supplémentaires

  • Utilisez [a-zA-Z0-9] au lieu de (a-z|A-Z|0-9) pour plus d'efficacité.
  • Pour autoriser les nouvelles lignes dans l'entrée , remplacez {1,15} par [sS]{1,15}.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn