我试图运行下面的搜索不工作(加上一些以匹配换行符通过添加在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