regex c# ip adress

почему проверка не работает? Правильно ли я понимаю что [0-255] означает любое число от 0 до 255?

введите сюда описание изображения

на картинке не совсем видно, я ввожу 6.7.7.8


Ответы (1 шт):

Автор решения: Yotic

Вы используете неправильный синтаксис Regex, я нашёл нормальный Regex под IPv4 -

Regex r = new Regex(@"^((1\d\d|2([0-4]\d|5[0-5])|\d\d?)\.?){4}$");

Для проверки использовал:

Regex r = new Regex(@"^((1\d\d|2([0-4]\d|5[0-5])|\d\d?)\.?){4}$");
string text1 = "128.0.0.1";
string text2 = "256.0.0.1";
string text3 = "0.0.0.0";
string text4 = "255.255.255.255";
string text5 = "255:228:0:0";
Console.WriteLine(r.IsMatch(text1)); //True
Console.WriteLine(r.IsMatch(text2)); //False
Console.WriteLine(r.IsMatch(text3)); //True
Console.WriteLine(r.IsMatch(text4)); //True
Console.WriteLine(r.IsMatch(text5)); //False
→ Ссылка