仅使用正则表达式是否可以在使用环视时跳过单词或字符?

Using just regex is there a way to skip words or chars when using a lookaround?

我想具体来说这可能是对未来的负面展望。

如果我的句子形式为:

this is the WORD i want and I want and this is the PHRASE I DONT WANT

有没有一种方法可以只使用正则表达式来匹配 "WORD" 但只有当存在 "PHRASE" 时才能匹配?我最初的想法是消极的前瞻,但这只是紧随其后的词。然后我尝试使用 (?:\w+(?:\s*[\,\-\'\:\/]\s*|\s+)){0,3} 和其他类似的技巧,但这会匹配中间的单词而不是实际的短语。更不用说 + 在 lookarounds 中的不稳定了。然后我考虑使用像 [^something] 这样的分组,但我不知道如何在不环顾四周的情况下用完整的单词来做到这一点。然后我有了嵌套环视的想法,我发现这是可能发生的,但这仍然是问题的根源。

你能跳过匹配中的单词进行环视吗?如果不能,我将如何解决这个问题?

因为如果我使用 lookbehind 进行嵌套,我仍然需要跳过一些内容才能进入 WORD 以匹配它。

假设句子中的单词是任意的,但关键词和关键短语是特定的。

如果我理解你的问题,你可以试试:

/(?!.*PHRASE I DONT WANT)WORD/

Demo