Java 查找替换的正则表达式

Java 查找替换的正则表达式,java,regex,sublimetext2,Java,Regex,Sublimetext2,在的上下文中,我想做以下更改: 查找: funcA(参数0,参数1,参数2,参数3) 更换: if(isTrue) funcB(param0,funcC(param1,param2,param3)); funcA可以有除param0之外的任意数量的参数。如何实现?为简单起见忽略基本情况,即当传递给funcA的param仅为param0时 funcA是: public void funcA(String param0,Object... params) public void func

在的上下文中,我想做以下更改:

查找

funcA(参数0,参数1,参数2,参数3)

更换

if(isTrue)
    funcB(param0,funcC(param1,param2,param3));
funcA可以有除param0之外的任意数量的参数。如何实现?为简单起见忽略基本情况,即当传递给funcA的param仅为param0时

funcA是:

public void funcA(String param0,Object... params)
public void funcB(Object... params).
功能是:

public void funcA(String param0,Object... params)
public void funcB(Object... params).
编辑:

参数(param1、param2..)只是包含字母的字符串。

搜索正则表达式:

^ *funcA *\(([^,\s;)]*) *(?:, *([^)\;]+))?
替换模式:

if(isTrue) funcB($1, funcC($2)

关于嵌套括号,例如
funcA(param0,param1.trim(),param2,param3.size())等?不。它们肯定只是字母(名称)嗨,这看起来不错。但是你能让正则表达式先找到funcA吗。这里它假设给定的行正在调用funcA。我必须在代码中进行替换。谢谢。它也处理基本情况。这在下面的情况下不起作用。funcA(param0);funcA(参数0,参数1,参数2,参数3);但是您写道:
为了简单起见,忽略基本情况
您想要什么
funcA(param0)替换为?虽然这是我要求的,但如果您也能为基类提供正则表达式,那就太好了。这里第四行应该转换为if(isTrue)funcB(param0,funcC())