我試圖運行下面的搜索不工作(加上一些以匹配換行符通過添加在Perl/s標誌或在vim與\_.
取代它。):關閉貪婪在這個表達式
/<output_channels>.*(?=Story).*?<\/output_channels>/
但是?沒有像往常那樣關掉貪婪 - 任何人都可以解釋爲什麼?如果我失去了一些東西明顯
<output_channels>
<output_channel>RSS</output_channel>
<output_channel>Story</output_channel>
</output_channels>
<output_channels>
<output_channel>RSS</output_channel>
</output_channels>
對不起:例如,下面的文件,而不是僅僅是第一要素的全部內容相匹配。
那麼,你使用Perl的正則表達式或vim的正則表達式搜索/替換? – BoltClock 2011-04-15 09:54:42
你給的RE使用了幾個在vim中不起作用的元素。不知道你是否意識到這一點。檢查[':help perl-patterns'](http://vimdoc.sourceforge.net/htmldoc/pattern.html#perl-patterns)獲取差異列表。你在用什麼來做搜索? – intuited 2011-04-15 09:58:29
@BoltClock兩者兼得。最終我會使用perl,但我發現在vim中使用正則表達式更快。 – tog22 2011-04-15 11:21:22