用较低的第一个字符替换方法名

本文关键字:替换 方法 字符 第一个 | 更新日期: 2023-09-27 18:17:09

我需要帮助。想要用rule:

替换代码中的所有方法名吗?
MethodName -> methodName (need for cpp translation).

不幸的是,我需要在我的Regex中转义所有以new开头的情况。

我的正则表达式:

 `[>''.''s]+[A-Z]+[a-zA-Z0-9_]*''({1}`

匹配

`>MethodName(`, `.MethodName(` ` MethodName(`

在最后一种情况下也可以是new ClassName

如何避免这种情况?

用较低的第一个字符替换方法名

你可以使用这个正则表达式:

(?<!new)[>.'s]+[A-Z]+'w*'(

(?<!new)是一个负向后看,它将确保方法名之前没有关键字new

我也:

  • [a-zA-Z0-9_]更改为'w,因为它是等效的;
  • 删除多余的量词{1}

是否需要查找前导空格?如果不是:

  • 第一个字符可以是>或。
  • 后接大写字母
  • 后接零个或多个字母、数字或下划线
  • 后接(

    )

    [>|'.]([A-Z][a-zA-Z0-9_])*'(