我正在研究最近从X/Motif转移到Qt的C++代码库.我正在尝试编写一个Perl脚本,用bool替换所有出现的布尔值(来自X).该脚本只是做了一个简单的替换.
s/\bBoolean\b/bool/g
有几个条件.
1)我们的代码中有CORBA,\ b匹配CORBA :: Boolean,不应该更改.
2)如果它被发现是一个字符串(即"布尔")它不应该匹配
更新:
对于#1,我使用了lookbehind
s/(?对于#2,我使用了前瞻.
s/(?这很可能适用于我的情况,但以下改进如何?
3)如果在字符串的中间,请不要匹配(感谢nohat).
4)如果在评论中不匹配.(// 要么 /**/)