我的源代碼,我想找到的所有行比用逗號,句號或加號',' , '.' , '+'
結束,如何爲不以'/'開頭並以','或'。'結尾的行設置正則表達式。或'+'?
所以,我有這樣的:(\,|\.|\+)$
- 表明,任何與這些符號的終結線。
但我想忽略以// - 註釋行開頭的行,並且它們可以以任意數量的空格開頭。
我試圖忽略在/開頭處的行:^[^/].*
但這並不是很好。然後我還試圖在開始時放置:\s*
忽略所有空格,但仍然不能正常工作。
所以,我的正則表達式將是這樣的:\s*^[^/].*(\,|\.|\+)$
- 跳過所有空格開頭,而忽略那些/作爲第一個符號,並顯示那些以結束每一行,+
但是,這仍然發現線這一點。從空間和/開始。我究竟做錯了什麼?
編輯: 下面是示例行:
...
// increase no of objects...
counter := 1+
2;
...
我需要忽略註釋行,開始//但需要與結尾的所有線路,+因爲我需要重新格式化。
你打算用多回合方法要好得多做的 - 在命令行中,我會做這個用grep的'-v'過濾掉的意見,再進行第二次' grep「,它會查找你實際上*要*想要的行。否則,您將需要使用PCRE擴展,因此需要一個回溯正則表達式引擎,這可能會比僅應用兩個BRE或ERE的速度更慢。 –
在最後一個正則表達式中,第一個「^」是什麼?你的意思是'\ s * [^ /]。*(\,| \。| \ +)$'?我不確定這是否也可以工作,這取決於貪婪...... – LarsH
另外,重新:查爾斯關於回溯的評論,您使用哪種正則表達式? (什麼正則表達式工具?)這將幫助我們知道什麼功能可用。 – LarsH