gpt4 book ai didi

python - 正则表达式 : Match up to a word or a maximum number of words

转载 作者:太空狗 更新时间:2023-10-30 01:23:13 26 4
gpt4 key购买 nike

我想查找一个短语,匹配它后面的几个单词,但如果我找到另一个特定的短语,请提前停止。

例如,我想匹配“going to the”后面的最多三个词,但如果遇到“to try”则停止匹配过程。因此,例如“going to the luna park”将得到“luna park”; “going to the capital city of Peru”的结果为“capital city of”,“going to the moon to try some cheesecake”的结果为“moon”。

可以用一个简单的正则表达式来完成吗(最好是用 Python)?我已经尝试了所有我能想到的组合,但惨败:)。

最佳答案

这一个匹配最多 3 ({1,3}) 个单词,只要它们后面没有跟随 to try (( ?!尝试)):

import re
infile = open("input", "r")
for line in infile:
m = re.match("going to the ((?:\w+\s*(?!to try)){1,3})", line)
if m:
print m.group(1).rstrip()

输出

luna park
capital city of
moon

关于python - 正则表达式 : Match up to a word or a maximum number of words,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15564876/

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