gpt4 book ai didi

java - 如何替换正则表达式中的组?

转载 作者:行者123 更新时间:2023-11-30 07:11:37 24 4
gpt4 key购买 nike

确切地说,如何在将组附加到字符串缓冲区时替换组?例如:(一)(二)(三)如何用 d 替换第 1 组,用 e 替换第 2 组等等?我正在使用 Java 正则表达式引擎。提前致谢。

最佳答案

您可以使用 Matcher 的 appendReplacement

这是一个示例示例:

输入:“你好鲍勃,你的猫怎么样?”

正则表达式:"(bob|cat)"

输出:“你好,爱丽丝,你的狗好吗”

public static void main(String[] args) {
Pattern p = Pattern.compile("(bob|cat)");
Matcher m = p.matcher("hello bob How is your cat?");
StringBuffer s = new StringBuffer();
while (m.find()) {
m.appendReplacement(s, doReplace(m.group(1)));
}
m.appendTail(s);
System.out.println(s.toString());
}


public static String doReplace(String s) {
if(s.equals("bob")) {
return "alice";
}
if(s.equals("cat")) {
return "dog";
}

return "";
}

关于java - 如何替换正则表达式中的组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20981506/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com