gpt4 book ai didi

Java - 正则表达式 - 查找所有匹配项

转载 作者:行者123 更新时间:2023-12-01 16:45:41 24 4
gpt4 key购买 nike

我需要 Java 正则表达式方面的一些帮助。

我的文本是这个abc abc abc xyz xyz xyz。我需要找到 所有在 abcxyz 之间只有一个单词的匹配项

这里应该返回两个匹配项:

  1. abc abc xyz ==> abc 位于 abcxyz 之间
  2. abc xyz xyz ==> abcxyz 之间存在 xyz

我的正则表达式模式:

abc\s+([a-z]*?)\s+xyz

它似乎只匹配第一个匹配项,即abc abc xyz。它找不到 abc xyz xyz

匹配所有内容的正确模式是什么?

最佳答案

如果您只需要中间的一个单词而不是完整匹配 as you stated in the comments ,您可以使用正向 Lookbehind 和正向 Lookahead,如下所示:

(?<=abc\s)[a-z]+(?=\sxyz)

这是一个demo .

<小时/>

如果您确实需要完整匹配,或者您希望单词前后有多个空格,您可能需要检查 Andreas's answer .

关于Java - 正则表达式 - 查找所有匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51869576/

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