我想在Visual Studio中的一堆C++源文件中找到與包含'if'的單詞匹配的所有行,因此我需要過濾出if
語句以及#if
預處理器語句。Visual Studio中的正則表達式
正則表達式我試圖用如下:[^#]*if[^\s]+
但我得到的結果包括所有if
聲明和#if
線。
我檢查了this question和documentation on Visual Studio regular expressions的答案,但仍不知道爲什麼我使用的表達式無法按預期工作。
是否正確記錄了Visual Studio正則表達式方言的語法?
試試'\#'; '#'在VS正則表達式中有特殊的含義(我認爲它只在字符類外部這樣做,但是誰知道)。另外,您可能在開始時需要一個'^'錨點,否則正則表達式會將行與'#if'匹配,因爲'*'使得「not-#」部分可選。我沒有安裝VS,所以我無法測試它,對不起。 –
謝謝蒂姆。你說'\ s'是對的。這是有效的:'[^ \#] * if [^:b] +'。 –
我想我太習慣了(我並沒有深入使用正則表達式,但是)* NIX正則表達式。 –