gpt4 book ai didi

python - 正则表达式 - 匹配一个单词,但不匹配可能出现在短语中任何位置的短语

转载 作者:行者123 更新时间:2023-12-03 07:51:33 26 4
gpt4 key购买 nike

我一直在这个正则表达式上花费时间,但我无法让它工作。所以我需要匹配一个短语中的一堆单词,但如果同一个单词出现在一组单词中,我不希望它被捕获。例如:

phrase:嗨,我说的是我上个月购买的产品的召回。如果我没记错的话,我是8月15日在你们店买的。您能告诉我这次召回是否可以获得退款吗?

结果应与第一次召回和最后一次召回相匹配。但它不应该匹配“如果我记得”,因为这三个词在一起并不能说明产品召回。

我尝试了不同的变体,但无法让它工作。这与所有“召回”术语匹配。

(?<!If\sI\srecall).*?(recalls?|recalled).*?(?!If\sI\srecall)

我正在使用 Python 3.10 来测试这一点。任何帮助将不胜感激。

最佳答案

如果你想匹配2个单词:

(?<!\bIf\sI\s)\brecall(?:s|ed)?\b

模式匹配:

  • (?<!\bIf\sI\s)负向回顾,断言不是 If I 向左
  • \brecall(?:s|ed)?匹配单词 recall 之一recalls recalled
  • \b单词边界

Regex demo | Python demo

关于python - 正则表达式 - 匹配一个单词,但不匹配可能出现在短语中任何位置的短语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76948670/

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