0
我嘗試使用Eclipse的RegEx搜索功能搜索單詞'foo'或'bar',忽略註釋。Eclipse RegEx搜索多個單詞,忽略註釋
這是我到目前爲止有:
^(?!\s*(//|\*)).*(foo|bar)
我的解決方案的評論限制是沒有問題啊(反正,如果有人有不顯着延長了正則表達式一個更好的解決方案,我會很高興聽到這件事):
- 單行註釋必須在該行的開頭開始,也許縮進(所以我不在乎
return null; // foo
不會被忽略)。 - 多行註釋從行的開頭開始,帶有一個星號,可能會被忽略(因此
/* foo
不會被忽略,而bar \n * foo
將被忽略,即使它不是真正的註釋)。
我的問題是,現在整個行('包括''富'或'欄')突出顯示在搜索結果中。我只想要'foo'或'bar'(或兩者都有,如果兩者都出現在同一行中)要突出顯示。 我想包括正前瞻(有多種型號)來實現這一目標:
^(?!\s*(//|\*))(?=.*)(foo|bar)
這導致沒有結果。我不明白爲什麼。感謝您的任何提示!
所以 (<^ \ S *(// |!\ *){} 0,100)(FOO |巴) 做的工作Eclipse,但它速度很慢(當然還會帶來進一步的限制,即只能搜索到100 + x個字符)。無論如何,總比沒有好。感謝您的建議! – user1249995 2012-03-05 14:54:24
這是我最後使用的: (?<!^ \ s {0,10}(// |(/?)\ *)。{0,200})\ b(foo | bar)\ b 它仍然很慢,但比上述版本更快。這種性能提升是通過不忽略太過分的評論來完成的。作爲一種平衡,我現在也在尋找適當的多行註釋開始(/ *),並且只搜索整個單詞(不會找到「foobar」)。 – user1249995 2012-03-06 10:02:55