gpt4 book ai didi

Java正则表达式全部替换不替换所有单词

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:46:58 24 4
gpt4 key购买 nike

我在 Java 中使用这个正则表达式已经很久了,但无法让它工作:

(?:^| )(?:the|and|at|in|or|on|off|all|beside|under|over|next)(?: |$)

以下内容:

pattern.matcher("the cat in the hat").replaceAll(" ")

给我帽子。另一个示例输入是 the cat in of the next hat 这给了我 cat of next hat

有什么方法可以让这个正则表达式替换正常工作,而不必为每个单词将它们分成多个单独的正则表达式并尝试重复替换字符串?

最佳答案

是的,你可以很容易地做到这一点,你只需要使用 boundaries ,这就是您要描述的内容:(?:^| ) 只需这样做:

\b(?:the|and|at|in|or|on|off|all|beside|under|over|next)\b

你的原件没有捕获,但正如评论中提到的,如果你想捕获你可以使用捕获而不是非捕获组的选项:

\b(the|and|at|in|or|on|off|all|beside|under|over|next)\b

关于Java正则表达式全部替换不替换所有单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29677987/

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