Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Многострочный парсинг. Не парсится строка...


Автор: Wardrag 5.10.2013, 23:15
Собсно даже при использовании модификатора s, учитывающая переносы \n, не парсится.
Структура регулярки такая: внутри группируются части строки, которые мне нужны, а в конце стоит (.*), но, поскольку такой вариант не парсит  до конца, я и  использовал gsi  : ), но результат ОДИНАКОВЫЙ,
Так какого ?? Что ещё шаблон (.*) может не учесть ? Строки такого рода из английских символов всегда.

Автор: arto 6.10.2013, 13:23
ничего не понял в вашем высказывании.

# perl -le '$a = "AA test1 BB\nCC test2 DD\nDD test3 EE\n"; while ($a =~ m#test\d+#gs) { print $& }'
test1
test2
test3
#

Автор: Grost 7.10.2013, 11:40
Могу предположить, что в переменной только одна строка вместо ожидаемого текста с "\n". Попробуйте выгрузить ваш текст не в скаляр, а в массив.
Либо пример в студию smile

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