2014-06-10 35 views
2

想知道是否有一种方法可以在Visual Studio项目(VS2010,如果重要的话)中对包含word1,word2和word3的所有行按照任意顺序进行全局搜索?在Visual Studio的一行内以任意顺序查找单词*

+1

您可以使用正则表达式。 –

+0

谢谢你的提示。定期expreessions可以工作,但根据我的理解,当三个词的排序需要被允许是任意的时候,实施起来真的很痛苦......(特别是当被迫使用Visual Studio 2010的混杂版本的正则表达式时 - 参见接受的答案下面) – mtopinka

回答

2

我知道你说的VS2010,但是为了未来搜索的任何人的利益,在2010年之后的VS版本中,你可以做到这一点,这是更好的。对于VS2010及以下版本,请参阅第二个选项。

给定字1,字2和字3

使用编辑 - >在文件中查找。 选中使用正则表达式选项。

输入此作为搜索词:

^(?=.*\bword1\b)(?=.*\bword2\b)(?=.*\bword3\b).+ 

应该做你想要什么。作为参考,这是一个positive lookahead.

正如迈克尔正确指出,这不适用于VS2010或更早版本。对于我恢复到一个非常笨重的解决方案,几乎是太尴尬后{}畏缩:

.*(word1|word2|word3).*(word1|word2|word3).*(word1|word2|word3).* 

这显然不能很好地扩展,也将匹配字1字1字1,等等,但它会缩小结果至少对你来说。如果您只想查找整个单词,请将\b添加到每个单词的开头和结尾。

+1

不幸的是,Visual Studio 2010和更早版本不支持这种语法。 –

+0

感谢您的详细解答,user3525898。事实上,查询的第一个更简单的版本适用于VS2012和VS2013,这也是我咬紧牙关并从VS2010升级到VS2013的另一个原因。 – mtopinka

相关问题