は以下の正規表現の使用:大きな正規表現に遅延評価を使う(だけでなく、*。?)
:
\[\w* \w* \d{2} [\w:]* \d{4}\] \[error\] \[client .*?\] .*? Using HTTP not .*?<br />
を私は(黄色のボックスは一致を示す)は、次の結果を得ます
生のテキスト:http://pastebin.com/vSi0mLGv
下の2つのセクションでは、correcありますt。私が含まれているすべてのセクションを望む:<<<NOTICE>>> Non-Prod Server: Using HTTP not HTTP/S
トップセクションは、しかし、(下の2と同様に)正しい文字列が含まれていますが、また、私はしたくない全体の他のチャンクが付属しています:
[Thu May 10 17:43:48 2012] [error] [client ::1] Current Name:
DashboardBar_projAnnualReview200, referer: http://
localhost/test/pages/TestPage.php<br />`
私はこれが正規表現に貪欲であることを知っていますが、たとえそれが正しい方法であれば、それは<br />
のための怠惰な評価をする方法をどうやって行くことができます。私は(<br />)*?
と他の人には役に立たないと試しました。
その他の情報: 私はSublime Text 2を使用して、そして誰もがイメージを再作成したい場合は正規表現検索を行っております。
だけFYI、[遅延評価](http://en.wikipedia.org/wiki/Lazy_evaluation)正規表現とは何の関係もありません。 「怠け者」という言葉は、早期に正規表現の数量化の非貪欲な変種を記述するために使用されたものであり、間違いでした。 「貪欲でない」という言葉は彼らにとってははるかに良い言葉であり、「消極的」な表現はさらに正確です。 –