LINUX.ORG.RU

Избранные сообщения Venik

Помогите пофиксить regexp

Форум — Development

Призываю джедаев Perl'а.

Есть avavis-new версии 2.10.0. Собственно одна из его задач — распаковывать архивы и передавать их антивирусу. В логах ошибка

(!)do_unrar: can't parse info line for .....
Покопавшись в коде выяснилось что там неработающая регулярка.
# amavisd:30296
/^ ([* ]) \s+ \S+ \s+ (\d+) \s+ (\d+) \s+ ( \d+ % | --> | <-- | <-> ) \s+ \S+ \s+ \S+ \s+ \S+ \s+ (.*)/xs
Вот строки которые отдает ему unrar v -c- -p- -idcdp — test.rar при запароленом архиве:
*-rw-rw-r--      2760      1920  69%  30-09-14 11:33  8EF1D373  a.txt
Архив без пароля:
 -rw-rw-r--    496640    179100  36%  30-09-14 21:54  0647CF31  tttt.exe    \n

Я не особо разбираюсь в регулярках, особенно в перловских. Подскажите как поправить.

PS. Если убрать первое '\s+' после группы ([* ]), то начинает почти(!) парсить строку, кроме последней группы. Туда попадают пробелы, \n, и следующие строки.

 , ,

greek_31
()