需要一些帮助。 想用规则替换代码中的所有方法名称:
MethodName -> methodName (need for cpp translation).
不幸的是,我需要在所有以new
开头的案例中逃避我的正则表达式。
我的正则表达式:
`[>\\.\\s]+[A-Z]+[a-zA-Z0-9_]*\\({1}`
匹配
`>MethodName(`, `.MethodName(` ` MethodName(`
但最后一种情况也可以是new ClassName
。
如何避免这种情况?
答案 0 :(得分:2)
您可以使用此正则表达式:
(?<!new)[>.\s]+[A-Z]+\w*\(
(?<!new)
是一个负面的背后隐藏,它将确保方法名称前面没有关键字new
。
我也是:
[a-zA-Z0-9_]
更改为\w
,因为它等效; {1}
。答案 1 :(得分:0)
你需要找到领先的空间吗?如果不是:
其次是(
[>|\.]([A-Z][a-zA-Z0-9_])*\(