gpt4 book ai didi

Java 正则表达式挑战 - 仅在需要时添加前缀

转载 作者:行者123 更新时间:2023-12-02 04:22:27 25 4
gpt4 key购买 nike

我正在尝试创建一个正则表达式,它将向单词(bar)添加前缀(foo)仅当它不存在并且单词栏多次出现时才会出现。也忽略大写字母

String s = "酒吧叔叔,在酒吧时是个 foo bar 类型的人"

所以尝试以下操作:

String s = " uncle bar, is a foo bar kind of guy when he is at the bar ";    
Pattern p;
Matcher m;
p = Pattern.compile("(?i) bar ");
m = p.matcher(s);
if(m.find()){
s = s.replaceAll("(?i) bar ", " foo bar ");
}

这将导致添加 foo,即使它已经存在。即“foo foo bar 之类的人”我需要一个正则表达式来在尝试匹配模式时考虑模式的前缀。

提前致谢

最佳答案

您可以使用负向后查找来执行此操作

s.replaceAll("(?i)(?<!foo )bar", "foo bar")

关于Java 正则表达式挑战 - 仅在需要时添加前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32600310/

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