Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Регулярные выражения > Найти что-то типа ". . . 25"


Автор: tech1965 17.8.2010, 19:12
Люди добрые, объясните пожалуйста новичку как нужно оформить регулярное выражение.

Есть кусок кода

Код

    print "$1\n" while 
 
          m%((?=\d)(\d*))%gxi;


который выводит из текста подряд все целые числа, например

14
43
26
67


Как нужно изменить регулярное выражение после while, чтобы выводились числа стоящие в тексте только после многоточия, т.е. например только такое ". . . . . 26"
Точки идут через пробел!

Заранее признателен!

Автор: dva300 17.8.2010, 20:39
мой вариант такой 

use strict;
open(FF,"test.txt") or die "$!";
while (<FF>)
{
print "$1\n" if (/[\.]{3}(\d+)/)
}
close(FF);


Автор: MaXL 17.8.2010, 20:41
Наверно так
Код

print "$2\n" while m%(\.\s){2,}(\d+)%gxi;

если учесть что многоточие, это две и более точки с пробелом.

Автор: tech1965 20.8.2010, 17:28
Большое спасибо за ответы!  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)