Regex неправильно проверяет почтовый индекс
У меня возникла проблема с проверкой почтового индекса - он должен состоять ровно из 6-ти цифр, но паттерн "[0-9]{6}" реагирует как на неправильный ввод при кол-ве цифр меньше 6-ти, однако пропускает как корректный при любом кол-ве цифр больше 6-ти.
Вот полный код на C#
Console.WriteLine("Введите почтовый индекс в формате 000000");
string s = Console.ReadLine();
if (Regex.IsMatch(s, "[0-9]{6}"))
{
Console.WriteLine("Почтовый индекс введен корректно");
}
else
{
Console.WriteLine("Некорректный ввод");
}
Ответы (1 шт):
Автор решения: KoVadim
→ Ссылка
Скорее всего нужно переписать регулярку вот так
"^[0-9]{6}$"
Почему? некоторые движки их добавляют неявно, а некоторые - нет. Данные символы являются "якорями" начала и конца строки.