有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

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

搜寻

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

替换:

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

如何将匹配的模式(类定义)前置到替换字符串


共 (2) 个答案

  1. # 1 楼答案

    你总是可以捕捉到整件事并把它放进去。内部捕获组位于第二个反向引用中

    查找:

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

    替换为:

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

  2. # 2 楼答案

    我想你需要这个:

    搜索:

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

    替换:

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