Java 用于嵌套函数调用的正则表达式
Java Regex for Nesting Function Calls
我有大约 200 个函数调用
markers.add(packageDecl.getPosition(), "package.invalid", this.fullName);
需要替换为
markers.add(I18n.createMarker(packageDecl.getPosition(), "package.invalid", this.fullName));
^^^^^^^^^^^^^^^^^^ ^
它们可以有任意数量的函数参数,并且参数可以是嵌套调用,如示例中所示。但是,假设 ;
后面总是有换行符。
我已经尝试过这个正则表达式:
markers\.add\((.*)$
这允许我删除 markers.add(
部分并添加 I18n.createMarker(
。但是,我不能在末尾添加额外的右括号:); -> ));
.
你能不能用这个:
Regex: markers\.add\((.*)\)"
Replace: markers.add(I18n.createMarker())
这个丑陋的东西 似乎适用于 Eclipse 正则表达式查找:
markers\.add\((.|\n)*;$
我有大约 200 个函数调用
markers.add(packageDecl.getPosition(), "package.invalid", this.fullName);
需要替换为
markers.add(I18n.createMarker(packageDecl.getPosition(), "package.invalid", this.fullName));
^^^^^^^^^^^^^^^^^^ ^
它们可以有任意数量的函数参数,并且参数可以是嵌套调用,如示例中所示。但是,假设 ;
后面总是有换行符。
我已经尝试过这个正则表达式:
markers\.add\((.*)$
这允许我删除 markers.add(
部分并添加 I18n.createMarker(
。但是,我不能在末尾添加额外的右括号:); -> ));
.
你能不能用这个:
Regex: markers\.add\((.*)\)"
Replace: markers.add(I18n.createMarker())
这个丑陋的东西 似乎适用于 Eclipse 正则表达式查找:
markers\.add\((.|\n)*;$