如何重复正则表达式匹配的文本?

时间:2011-04-08 14:28:27

标签: java regex eclipse

我正在尝试使用eclipse搜索/替换将log4j添加到旧版软件中。

我们的想法是找到所有的类声明并将它们替换为声明本身以及下一行中记录器的定义。

搜索

".*class ([A-Z][a-z]+).*\{"

替换:

"final static Logger log = Logger.getLogger($1.class);"

如何将匹配的模式(类定义)添加到替换字符串?

2 个答案:

答案 0 :(得分:3)

我认为你需要这个:

搜索:

(.*class ([A-Z][a-z]+).*\{)

取代:

$1\Rfinal static Logger log = Logger.getLogger($2.class);

答案 1 :(得分:1)

你可以随时捕获整个事物并将其放入。内部捕获组存在于第二个反向引用中。

查找

(.*class ([A-Z][a-z]+).*\{)

替换为:

$1 final static Logger log = Logger.getLogger($2.class);

相关问题