gpt4 book ai didi

正则表达式用 bool 替换 bool 值

转载 作者:行者123 更新时间:2023-12-04 08:01:38 27 4
gpt4 key购买 nike

我正在处理最近从 X/Motif 转移到 Qt 的 C++ 代码库。我正在尝试编写一个 Perl 脚本,它将用 bool 替换所有出现的 Boolean(来自 X)。该脚本只是做了一个简单的替换。

s/\bBoolean\b/bool/g

有几个条件。

1) 我们的代码中有 CORBA 并且\b 匹配 CORBA::Boolean 应该 不是 被改变。
2)如果它被发现为字符串(即“Boolean”),则不应该匹配

更新:

对于#1,我使用了lookbehind
s/(?<!:)\bBoolean\b/bool/g;

对于#2,我使用了前瞻。
s/(?<!:)\bBoolean\b(?!")/bool/g</pre>

这很可能适用于我的情况,但以下改进如何?

3) 如果在字符串中间,则不匹配(感谢 nohat )。
4)如果在评论中不匹配。 (//或者/**/)

最佳答案

s/[^:]\bBoolean\b(?!")/bool/g



这不匹配 bool 值所在行开头的字符串,因为 [^:] 是“匹配不是 : 的字符”。

关于正则表达式用 bool 替换 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35178/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com