gpt4 book ai didi

Java 正则表达式无法找到 "Ts"后跟 "kb"

转载 作者:行者123 更新时间:2023-11-30 08:48:39 27 4
gpt4 key购买 nike

每当“Tskb”作为单个单词出现时,我必须使用 Java 正则表达式将“Tskb”转换为“TsKB”。我写了下面不起作用的代码。

    public class TestBGR {
private static final Pattern s_TsKB = Pattern.compile("/(Ts?.*)(?=.*kb)^(\\w+)$/");
public static void main(String[] args) {

String text = "Tskb";
Matcher matcher = s_TsKB.matcher(text);
StringBuilder builder = new StringBuilder(text);
int offset = 0;

while (matcher.find())
{
String replacement = "KB";
builder.replace(matcher.start() + offset, matcher.end() + offset,
replacement);
offset += replacement.length() - matcher.group().length();
}
System.out.println(builder);
}
}

这里如何使用 java 正则表达式查找“​​Ts”后跟“kb”?

最佳答案

你可以用

简单地做一个 replaceAll
(?<=\\bTs)kb\\b

并替换为 KB。lookbehind 将确保 kb 之前有 Ts

查看演示。

https://regex101.com/r/fM9lY3/13

关于Java 正则表达式无法找到 "Ts"后跟 "kb",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31803245/

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