正则表达式的匹配字串引用($1、$2...)

发布时间 2023-04-14 11:06:38作者: 方德伟

上季度公司一个需求是要求优化项目的结果处理方式,原先各Controller直接调用SuperController的结果处理方法,类似这样:

return callBackSuccess(data);
return callBackSuccess(msg, data);
return callBackFilure(AppCode.XXX); // AppCode是一个返回状态码和状态码对应信息的枚举,下同

现在需要改成这样:

return Result.success(data);
return Result.success(msg, data);
return Result.failure(AppCode.XXX);

其中替换涉及的接口非常多,返回结果的变量名也各不相同,手动改是不可能的,普通的查找替换也挺麻烦,

所以这里可以用到正则匹配字串引用的功能,先说怎么用:

正则匹配时将需要引用的匹配部分用 括号 包裹,引用时按照括号顺序用$1、$2...引用

描述是苍白的,直接上示例,以上面的代码为例:

// 查找正则
return.*Success\((.*)\);
return.*Failure\((.*)\);

// 替换
return Result.success($1);
return Result.failure($1);



// 需要引用多个字串
return.*Success\((.*)\,\ (.*)\);

// 替换
return Result.success($1, $2);