为什么grep什么都不返回?

时间:2015-06-05 19:12:53

标签: regex grep

我对正则表达式有点放松,但特别是对于grep,并且无法弄清楚以下正则表达式为什么不返回任何内容:

wget -qO- 'http://www.acme.com/index.html' | grep -iPo '(?s)(^<div class="titlebar">.+?<div class="colleft">)'

我前置(?s)因为全能&#34;。+?&#34;包括回车(CRLF,CR或LF,取决于文本的保存方式)。

知道它为什么没有按预期工作?

谢谢。

1 个答案:

答案 0 :(得分:0)

grep是面向行的,所以如果标签之间有换行符,grep就找不到它。你会想要:

wget -qO- 'http://website.invalid/index.html' |
perl -0777 -nE 'say for /(^<div class="titlebar">.+?<div class="colleft">)/msg'