在Visual Studio 2010中,如何搜索不在單行註釋中的文本?例如,如何找到 「淺」:在Visual Studio 2010中,如何搜索不在單行註釋中的文本?
foo bar bas
但不是在
foo bar // bas
需要注意的是,應該找到行:
foo/bar/bas
(編輯),它不應該找line:
foo // bar bas
在Visual Studio 2010中,如何搜索不在單行註釋中的文本?例如,如何找到 「淺」:在Visual Studio 2010中,如何搜索不在單行註釋中的文本?
foo bar bas
但不是在
foo bar // bas
需要注意的是,應該找到行:
foo/bar/bas
(編輯),它不應該找line:
foo // bar bas
好的,所以我問了這個問題,所以我可以回顧我自己的答案。
Visual Studio似乎沒有典型的預見性,後視構造。它確實有一個類似的零寬度否定斷言。語法是〜(x),這意味着該模式中的模式在此時不匹配x。使用這個構造,我想出了這個:^(.~(//))*bas
它工作得很好,但不會排除//是行上前兩個字符的行。一個要修復的版本是:^~(//)(.~(//))*bas
在Visual Studio查找撥號OG,請嘗試使用正則表達式(請務必選擇使用:正則表達式在查找選項):
~(//[.:b]*)<bas>
這應該發現其不被//
前面的字bas
的所有地方。
請注意,Visual Studio正則表達式語法與傳統語法有點不同。你可以找到參考HERE。
這在示例中不起作用:foo // bar/bas bas在註釋中,所以不應找到。謝謝你的回答,但是,鏈接。此外,< and >字邊界可能不是必需的,雖然它取決於你想要的。 – Tony
對於VS2012用戶:「Visual Studio 2012使用.NET Framework正則表達式來查找和替換文本。在Visual Studio 2010及更早版本中,Visual Studio在」查找和替換「窗口中使用了自定義正則表達式語法」。資料來源:[在Visual Studio中使用正則表達式](http://msdn.microsoft.com/en-us/library/2k3te2cs(v = vs.110).aspx) –
好吧,所以我問了這個問題,所以我可以參考我自己的答案。不幸的是,我必須等待8個小時才能回答我自己的問題。 Visual Studio似乎沒有典型的先行後視構造。它確實有一個類似的零寬度否定斷言。語法是〜(x),這意味着該模式中的模式在此時不匹配x。使用這個構造,我想出了這個: ^(。〜(//))* bas 它工作得很好,但不會匹配行中前兩個字符的行。一個要修復的版本是: ^〜(//)(。〜(//))* bas – Tony
您問了一個問題只是爲了自己回答嗎? – iandotkelly
那麼,您是否發佈了該評論,因爲我已經回答了您的問題? :) – Tony