Le schéma suivant pourrait le faire pour vous:
^1:\d{1,3}$
Exemple de code:
string pattern = @"^1:\d{1,3}$";
Console.WriteLine(Regex.IsMatch("1:1", pattern)); // true
Console.WriteLine(Regex.IsMatch("1:34", pattern)); // true
Console.WriteLine(Regex.IsMatch("1:847", pattern)); // true
Console.WriteLine(Regex.IsMatch("1:2322", pattern)); // false
Pour un accès plus pratique, vous devriez probablement mettre la validation dans une méthode distincte:
private static bool IsValid(string input)
{
return Regex.IsMatch(input, @"^1:\d{1,3}$", RegexOptions.Compiled);
}
Explication du motif:
^ - the start of the string
1 - the number '1'
: - a colon
\d - any decimal digit
{1,3} - at least one, not more than three times
$ - the end of the string
Les ^
et $
personnages rend le modèle correspondant à la chaîne complète, au lieu de trouver des chaînes valides noyées dans une chaîne plus grande. Sans eux, le motif correspondrait également à des chaînes telles que "1:2322"
et "the scale is 1:234, which is unusual"
.