я несколько легко с регулярным выражением, но не с Grep особенно, и не могу понять, почему следующее регулярное выражение возвращает ничего:Почему grep ничего не возвращает?
wget -qO- 'http://www.acme.com/index.html' | grep -iPo '(?s)(^<div class="titlebar">.+?<div class="colleft">)'
Я предваряется потому что всеохватывающий»(s?). +?» включает возврат каретки (CRLF, CR или LF, в зависимости от того, как был сохранен текст).
Любая идея, почему она не работает должным образом?
спасибо.
Поскольку ни одно из этих имен классов не появляется на странице, на которой 'wget' возвращается? Что такое '(? S)' делать? –
Потому что он злой? –
'(? S)' разрешает функцию, которая '.' может соответствовать новой строке. http://perldoc.perl.org/perlre.html - здесь не полезно, так как grep является ориентированным на линию инструментом. –