Кто шарит?) ваще столько раз сталкивался и не могу разобраться никак))) есть у кого норм по ней инфа так к чему я клоню нужна регулярка, которая выводит по маске, типа есть файл: 1122212121 1212313131 nach192.168.1.1konec 48348348 dffsdfsdfsdfdsf .ewr.we.r.wer... nach192.168.1.5konec werewr34324324 234234 надо бы вывести: 192.168.1.1 192.168.1.5 выручайте)
Code: #!/usr/bin/perl $\ = $/; open(F, "test.txt") or die"$!";; while(<F>) { print $1 if(/.*?(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}).*/); } close F;
Регулярка по сути таже... Code: /(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/ тут можеш потестить http://gskinner.com/RegExr/
Code: if (preg_match ("/(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/",$fio,$fio1)) { print "$fio1[0]"; } else { print "A match was not found."; } вот что вышло, как сделать чтобы все находил? а то показ тока первый
Можно укоротить регулярку до вида Code: /((\d{1,3}\.){3}\d{1,3})/ Более продвинутая регулярка - http://www.pcre.ru/examples/links/text/31/
емана одни косяки, как сделать чтобы он проверял во всем тексте и выводил всё! а не один первый встречившийся.
PHP: if (preg_match ("/(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/",$fio,$fio1)) { for ($i=0; $i<=кол-во_строк; $i++) { print "$fio1[$i]"; } } else { print "A match was not found."; }