gpt4 book ai didi

python - 捕获不包含牛津逗号的单词列表

转载 作者:太空宇宙 更新时间:2023-11-03 11:50:05 24 4
gpt4 key购买 nike

我试图分离出一篇文章中包含三个或更多单词列表但没有牛津逗号的部分。我想出的正则表达式是:

([a-z]+)(,\s*[a-z]+)(\s*or|and+)(\s*[a-z])

但它不起作用。关于如何做到这一点有什么想法吗?

它应该捕获 "red, white and blue" 而不是 "red, white, and blue"

最佳答案

我不知道为什么你的模式末尾有一个撇号。在(\s*or|and+)中,您应该将\s*移到外面,这样and也可以在空格后进行匹配,和 + 是完全多余的(因为 anddd 不太可能被满足)。在 (\s*[a-z]) 中,缺少 + 量词,您将只匹配单个字母而不是整个单词。

我假设匹配应该出现在一些更大的文本上下文中,并且我也尝试保持捕获组的完整性:

([a-z]+)((?:,\s*[a-z]+)*)\s+(and|or)\s+([a-z]+)

看看 demoIDEONE demo .

关于python - 捕获不包含牛津逗号的单词列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30006666/

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