0
我正在嘗試在java中爲C++源文件編寫注入器。這只是一個加速代碼編輯過程的基本工具。調試正則表達式
我所掃描的主要是:
ClassName::FunctionName() {
我用txt2re(http://txt2re.com)來生成我搜索一個正則表達式,等於:
.*?(?:[a-z][a-z0-9_]*).*?((?:[a-z][a-z0-9_]*))(:)(:)((?:[a-z][a-z0-9_]*))(\\().*?(\\)).*?(\\{)
我的應用程序是用Java編寫的,並在我的測試文件上工作。現在我試圖掃描源代碼的子目錄來應用我的更改,但匹配器掛起。據說一些正則表達式沒有被優化,甚至是錯誤的,所以它是有意義的。在正則表達式方面,我不是一個專家,也不是很堅定地使用它們(它很少發生)。有什麼方法可以加快匹配過程或糾正我的模式?
我想你的正則表達式,並在有問題的文件更快結束,但現在不是所有出現被發現!儘管我不知道爲什麼... – clambake 2014-09-11 11:14:51
引用差異我的基本功能大綱看起來像這樣:'void ClassName :: FunctionName(void * arg,...)\ n {'但是這不應該有所作爲 – clambake 2014-09-11 11:17:19
如果你想匹配的表達式超過了文件的幾行,(在你的大括號之前用換行符證明),那麼你需要確保你在進行正則表達式匹配之前連接這些行。否則,您將在「void ClassName :: function_name123(void * arg,...)」(它不匹配)上進行匹配,然後匹配「{」(這也不匹配)。 – 2014-09-11 11:41:03