我正在研究最近从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