Maison > Article > interface Web > Comment restreindre la longueur des caractères dans les expressions régulières ?
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]*[^$%^&*;:,<>?()"]*$
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]*[^$%^&*;:,<>?()"]*$ |
Other regex flavors, Python | A(?=.{1,15}z)[a-zA-Z0-9]*[^$%^&*;:,<>?()"]*z |
Considérations supplémentaires
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!