正则表达式将函数foo(a,b)替换为函数foo(b,a)

时间:2018-04-14 04:38:42

标签: java regex

我有像BeanUtils.copyProperties(source, destination);

这样的函数调用

我想在很多地方将其更改为BeanUtils.copyProperties(destination, source);。如何使用正则表达式?执行此操作的正则表达式命令是什么?

我正在使用eclipse进行查找和替换。

1 个答案:

答案 0 :(得分:1)

搜索(启用了正则表达式设置)

BeanUtils\.copyProperties\s*\(\s*([\w\_]+)\s*\,\s*([\w\_]+)\s*\)\s*\;

并替换为:

BeanUtils.copyProperties($2, $1);

首先使用反斜杠\

转义所有文字字符

在编写代码时可以找到空格的地方,将其与0或更多空格匹配。使用\s*可以使用[ ]*\s可能就此而言。

然后通过在括号中添加它们来添加源和目标的捕获。或使用[\w\_]+匹配其他变量名称。使用+表示至少1个字符。注意:如果您的变量有任何其他非字母数字字符,请将它们添加到[...]列表中。

最后在替换中,切换捕获。