Je voudrais utiliser l'expression régulière pour correspondre à une chaîne d'exactement 2 caractères, et ces deux caractères doivent être compris entre 0 et 9. La chaîne à comparer proviendrait d'un champ de saisie de texte sur une seule ligne lorsqu'un ASP.NET MVC la vue est rendue
Jusqu'à présent, j'ai l'expression régulière
[0-9]{2}
et à partir de la liste suivante d'exemples d'entrées de chaîne
les correspondances suivantes sont renvoyées lorsque j'applique l'expression régulière
Donc, j'ai en quelque sorte la moitié de la solution .... ce que je veux réellement appliquer, c'est que la chaîne est également exactement de 2 caractères, de sorte que dans la liste des chaînes, la seule qui devrait correspondre est
12
Je suis un amateur admis aux expressions régulières et je ne fais que l'utiliser pour valider un numéro de problème de carte sur un modèle ASP.NET MVC comme ci-dessous ....
[Required]
[RegularExpression("[0-9]{2}")]
public string IssueNumber { get; set; }
Je suis sûr que ce que je demande est assez simple, mais je n'ai pas pu trouver d'exemples qui ont limité la longueur dans le cadre de la correspondance.
Merci d'avance.
Vous pouvez utiliser le début (^
) et fin ($
) des indicateurs de ligne:
^[0-9]{2}$
Certains langages ont également des fonctions qui vous permettent de faire correspondre une chaîne entière, où vous utilisiez une fonction find
. Faire correspondre avec la chaîne entière fera fonctionner votre regex comme une alternative à ce qui précède. L'expression régulière ci-dessus fonctionnera également, mais le ^
et $
sera redondant.
Vous devez utiliser des ancres pour faire correspondre le début de la chaîne ^
et la fin de la chaîne $
^[0-9]{2}$
Quelque chose comme ça fonctionnerait
/^\d{2}$/