2014-06-10 73 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

相關問題