gpt4 book ai didi

java - 未使用 appendReplacement 替换模式

转载 作者:行者123 更新时间:2023-11-30 10:58:12 26 4
gpt4 key购买 nike

public static void main(String[] args) {
Pattern p = Pattern.compile("((?:[a-zA-Z]\\.)+[s]$)");
Matcher m = p.matcher("u.s.a. u.s s.w.a.t u.t.");
StringBuffer sb = new StringBuffer();
while (m.find()) {
m.appendReplacement(sb, "$0\\#");
}
m.appendTail(sb);
System.out.println(sb.toString());
}

此处的 u.s 应该替换为 u.s# 但它并没有替换它。在我的应用程序中,我需要在任何以 ss. 结尾的首字母缩略词后附加一个 #

我应该怎么做?

最佳答案

"((?:[a-zA-Z]\\.)+s\\.?(?=\\s|$))"

您需要使用它并使用 find 而不是 matches 因为 matches 断言整个字符串与正则表达式匹配。 $ 是字符串的结尾,因此请改用先行。

https://regex101.com/r/cT0hV4/1

关于java - 未使用 appendReplacement 替换模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32362261/

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