Трябва да направя регулярен израз, който проверява дали низът съдържа само букви или цифри, първият знак трябва да е буквата, а минималното количество знак е 2 и максимум 10.
string shablon = "/^[a-zA-Z]{2,10}/g";
Regex myRegex = new Regex(shablon);
return myRegex.IsMatch(Login);
за вход "Игал" връща ми фалшива
всяко предложение?
Отговори:
0 за отговор № 1Това е тествано за c # и можете да използвате този код:
string shablon = @"^[a-zA-Z]{1}[a-zA-Z1-9]{1,9}"; Regex myRegex = new Regex(shablon); var r= myRegex.IsMatch("Igal");
2 за отговор № 2
Пишете вашия регекс с a наклонена черта отпред и а /g
отзад, това е не е част от действителния регекс, това са неща, които някои библиотеки използват представляват регекси, Но библиотеката .NET използва флагове, предавани на Regex
конструктор.
Освен това забравихте долар ($
) в края на регенерацията. Така че можете да използвате:
csharp> string shablon = "^[a-zA-Z]{2,10}$";
csharp> Regex myRegex = new Regex(shablon);
csharp> myRegex.IsMatch("lgal");
true
ако низът съдържа само букви или цифри, първият знак трябва да е буквата, а минималното количество знак е 2 и максимум 10.
Вашият регекс съвпада само A-Za-z
два до десет пъти. Така че не позволявайте цифри. Можете обаче да пренапишете своя регекс:
csharp> string shablon = "^[a-zA-Z][a-zA-Z0-9]{1,9}$";
csharp> Regex myRegex = new Regex(shablon);
csharp> myRegex.IsMatch("lgal");
true
Регексът се състои от две части:
[a-zA-Z]
символ, който е буква; следван от[a-zA-z0-9]{1,9}
една до девет букви и / или цифри.