正则表达式选择所有句子 除了一个特定单词的句子

问题描述

我想选择所有不包含“Bull & Cat”词的句子。

这是一只狗。这是猫。这是一头公牛。这是一头牛

((?<=^)|(?<=\.))\s*(?![^.]*Bull).*?(?:\.|$)((?<=$)|(?<=\.))

这个正则表达式选择除了包含Bull的句子,但我需要选择包含Bull & Cat以外的所有句子。

编辑上面的正则表达式。所以,我可以选择所有句子,除了那些包含 Bull & Cat 的句子。

解决方法

给你:

gecode()

演示: https://regex101.com/r/Y3gerF/1

上述正则表达式将在匹配中每个句子的末尾包含结束点。如果你不介意没有得到这些点,你可以简化一下:

((?<=^)|(?<=\.))\s*(?![^.]*Bull).*?(?:\.|$)((?<=$)|(?<=\.))

演示:https://regex101.com/r/wzq4Sr/1