gpt4 book ai didi

正则表达式从列表中查找单词,当特定单词没有出现在 3 个单词之前

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

我想从列表中找到特定单词的所有匹配项,但是当特定的另一个单词没有出现在 3 个单词的范围内时。

例如:

找出“good|best|better”一词出现在文本中的所有时间,但“no|not|none”一词在3个词之前没有出现。

我试过这样的事情:

(?<!\sno|\snot(\s|\s\w\s|\s\w\s\w\s))(\bgood\b|\bbest\b|\bbetter\b)

但它不起作用。

最佳答案

你也许可以使用这个 PCRE正则表达式在 Rperl=TRUE选项:

\b(?:not?|none)(?:\s+\S+){0,2}\s+(good|best|better)\b(*SKIP)(*F)|\b(?:good|best|better)\b

RegEx Demo

在您的 R代码使用:
gregexpr("\\b(?:not?|none)(?:\\s+\\S+){0,2}\\s+(good|best|better)\\b(*SKIP)(*F)|\\b(?:good|best|better)\\b", mystr, perl=TRUE)

PCRE , 动词 (*SKIP)(*F)用于失败并跳过我们不想匹配的匹配。

关于正则表达式从列表中查找单词,当特定单词没有出现在 3 个单词之前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56462546/

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