Forum Webscript.Ru

Программирование => Perl => Тема начата: Alexandr от 17 Февраля 2003, 12:54:09

Название: Выбор IP из строки
Отправлено: Alexandr от 17 Февраля 2003, 12:54:09
Как выбрать корректный IP из след. строк:
\'\'
\'unknown\'
\'127.0.0.1, unknown\'
\'127.0.0.1\'
\'127.0.0.1, 123.123.0.23\'
\'127.0.0.1, 123.123.0.23, 123.123.0.23\'
?
Т.е. необходимо забирать только правую часть(если они перечислены ч/з зпт.), а первых 3-х случаях обламывать проверку
Название: Выбор IP из строки
Отправлено: Chs от 17 Февраля 2003, 13:40:35

m/\\,\\s+\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}/
Название: Выбор IP из строки
Отправлено: Alexandr от 17 Февраля 2003, 14:12:43
Это как прикрутить?
Название: Выбор IP из строки
Отправлено: Wyclef от 17 Февраля 2003, 14:48:30
Цитировать
Это как прикрутить?


$line = \'127.0.0.1, 123.123.0.23, 123.123.0.23\';

if ($line =~ m/\\,\\s+(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})$/) {
    $ip = $1;
}

print $ip;
Название: Выбор IP из строки
Отправлено: innin от 18 Февраля 2003, 18:16:10
регулярное выражение от Джеффри Фридла ( http://www.oreilly.com/catalog/regex2 ):

^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])$