我正在研究最近從X/Motif移動到Qt的C++代碼庫。我正在嘗試編寫一個Perl腳本,它將用布爾替換所有布爾值(來自X)。該腳本只是做了一個簡單的替換。用布爾替換布爾值的正則表達式
s/\bBoolean\b/bool/g
有幾個條件。
1)我們的代碼中有CORBA,\ b匹配CORBA :: Boolean,應該更改而不是。
2)如果它(發現作爲一個字符串即 「布爾」 應該不匹配)
更新時間:
#1,我回顧後
s/(?<!:)\bBoolean\b/bool/g;
用於#2 ,我用了前瞻。
s/(?<!:)\bBoolean\b(?!")/bool/g</pre>
這很可能適用於我的情況,但以下改進如何?
3)如果在字符串中間不匹配(謝謝nohat)。
4)如果在評論中不匹配。 (//或/ ** /)
旁註:http://stackoverflow.com/questions/72312/how-should-i-capitalize-perl#72757 – szabgab 2008-09-17 05:13:51