c++ - 在替换正则表达式中向匹配的数字加一

标签 c++ regex perl substitution addition

我有一个充满 C++ 代码的文件,它是一堆返回数字的小函数。我尝试将每个数字替换为数字加一如果数字大于 2。所以,

int blah() { return 5; }

会变成

int blah() { return 6; }

但是

int blah() { return 1; }

将保持不变。

这是如何完成的?

最佳答案

有点难看,但应该可以:

s/\{\s*return\s+(\d+)\s*;\s*\}/$1 > 2 ? "{ return " . ($1 + 1) . "; }" : $&/ge;

关于c++ - 在替换正则表达式中向匹配的数字加一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6414829/

相关文章:

c++ - 运行提升时如何创建不需要提升编辑的文件?

c++ - 使用指针的合法遗留代码突然变成了 UB

c++ - 使用以前版本的编译器构建的编译器是否可以防止代码注入(inject)?

regex - 如何为没有数字的行匹配正则表达式?

regex - 从已截断为不同长度的字符串末尾删除单词

c++ - 我在哪里可以找到标准中对 *p 和 p[0]、*(p+1) 和 p[1]、... 之间等价关系的引用?

regex - 如何从 OpenCart 3.0 上的所有链接中删除 route=

Java-Stream 和 Optional - 查找与流元素匹配的值或提供默认值

regex - Perl:正则表达式获取重复模式之间的所有文本

xml - 在 Perl 中解析 RSS/Atom 的最佳库是什么?