import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "\\/\\/(\\S+)业务员分配量\\s.*(?<=\\s)(\\w+)(?=S)";
final String string = "\n"
+ " //绑定业务员准确率\n"
+ " private int bindSchedulerAccuracy;\n"
+ " //绑定业务员分配率\n"
+ " private BigDecimal bindSchedulerAccuracy;\n"
+ " //绑定业务员分配量\n"
+ " private int bindSchedulerCount;\n"
+ " //绑定业务员重分网点量\n"
+ " private int bindReSchedulerGsCount;\n"
+ " //绑定业务员重分分部量\n"
+ " private int bindReSchedulerSjCount;\n"
+ " //绑定业务员重分业务员量\n"
+ " private int bindReSchedulerYwyCount;\n\n"
+ " //历史业务员准确率\n"
+ " private int historySchedulerAccuracy;\n"
+ " //历史业务员分配率\n"
+ " private BigDecimal historySchedulerAccuracy;\n"
+ " //历史业务员分配量\n"
+ " private int historySchedulerCount;\n"
+ " //历史业务员重分网点量\n"
+ " private int historyReSchedulerGsCount;\n"
+ " //历史业务员重分分部量\n"
+ " private int historyReSchedulerSjCount;\n"
+ " //历史业务员重分业务员量\n"
+ " private int historyReSchedulerYwyCount;\n\n"
+ " //电子围栏业务员准确率\n"
+ " private int fenceSchedulerAccuracy;\n"
+ " //电子围栏业务员分配率\n"
+ " private BigDecimal fenceSchedulerAccuracy;\n"
+ " //电子围栏业务员分配量\n"
+ " private int fenceSchedulerCount;\n"
+ " //电子围栏业务员重分网点量\n"
+ " private int fenceReSchedulerGsCount;\n"
+ " //电子围栏业务员重分分部量\n"
+ " private int fenceReSchedulerSjCount;\n"
+ " //电子围栏业务员重分业务员量\n"
+ " private int fenceReSchedulerYwyCount;\n\n"
+ " //附近业务员准确率\n"
+ " private int nearSchedulerAccuracy;\n"
+ " //附近业务员分配率\n"
+ " private BigDecimal nearSchedulerAccuracy;\n"
+ " //附近业务员分配量\n"
+ " private int nearSchedulerCount;\n"
+ " //附近业务员重分网点量\n"
+ " private int nearReSchedulerGsCount;\n"
+ " //附近业务员重分分部量\n"
+ " private int nearReSchedulerSjCount;\n"
+ " //附近业务员重分业务员量\n"
+ " private int nearReSchedulerYwyCount;\n\n"
+ " //预测业务员准确率\n"
+ " private int predictSchedulerAccuracy;\n"
+ " //预测业务员分配率\n"
+ " private BigDecimal predictSchedulerAccuracy;\n"
+ " //预测业务员分配量\n"
+ " private int predictSchedulerCount;\n"
+ " //预测业务员重分网点量\n"
+ " private int predictReSchedulerGsCount;\n"
+ " //预测业务员重分分部量\n"
+ " private int predictReSchedulerSjCount;\n"
+ " //预测业务员重分业务员量\n"
+ " private int predictReSchedulerYwyCount;\n\n"
+ " //顺路业务员准确率\n"
+ " private int onthewaySchedulerAccuracy;\n"
+ " //顺路业务员分配率\n"
+ " private BigDecimal onthewaySchedulerAccuracy;\n"
+ " //顺路业务员分配量\n"
+ " private int onthewaySchedulerCount;\n"
+ " //顺路业务员重分网点量\n"
+ " private int onthewayReSchedulerGsCount;\n"
+ " //顺路业务员重分分部量\n"
+ " private int onthewayReSchedulerSjCount;\n"
+ " //顺路业务员重分业务员量\n"
+ " private int onthewayReSchedulerYwyCount;\n\n"
+ " //地址业务员准确率\n"
+ " private int addressSchedulerAccuracy;\n"
+ " //地址业务员分配率\n"
+ " private BigDecimal addressSchedulerAccuracy;\n"
+ " //地址业务员分配量\n"
+ " private int addressSchedulerCount;\n"
+ " //地址业务员重分网点量\n"
+ " private int addressReSchedulerGsCount;\n"
+ " //地址业务员重分分部量\n"
+ " private int addressReSchedulerSjCount;\n"
+ " //地址业务员重分业务员量\n"
+ " private int addressReSchedulerYwyCount;\n\n";
final String subst = "//$1业务员分配率\\n\\tprivate BigDecimal $2SchedulerAccuracy;\\n\\t$0";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
// The substituted value will be contained in the result variable
final String result = matcher.replaceAll(subst);
System.out.println("Substitution result: " + result);
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html