【发布时间】:2015-08-15 15:28:28
【问题描述】:
我正在尝试排除一组单词,但在 qregexp 表达式中包含另一组单词,但我目前无法解决这个问题。
这是我尝试过的一些事情(这个例子包括了所有的单词):
(words|I|want|to|include)(?!the|ones|that|should|not|match)
所以我尝试了这个(没有返回任何结果):
^(words|I|want|to|include)(?:(?!the|ones|that|should|not|match).)*$
我错过了什么吗?
编辑:我需要这样一个不寻常的正则表达式(包括/排除)的原因是因为我想搜索一系列文章并过滤其中包含包含单词的文章,但如果它们也包含排除单词则不过滤在他们里面。
例如,如果文章 A 是:
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
B 条是:
Vivamus fermentum semper porta.
然后,包含 lorem 的正则表达式将过滤文章 A 而不是 B。但如果 ipsum 是我要排除的单词,我不希望文章 A 被过滤。
我考虑做一个正则表达式来过滤出我想要的单词的文章,然后运行第二个正则表达式,排除第一组我不想要的文章,但不幸的是我使用的软件不允许我这样做这。我只能运行一个正则表达式。
【问题讨论】:
-
这没有意义。您正在明确枚举要匹配的单词(“包含”)。之后无需“排除”任何内容;您已经知道白名单上的内容了。
-
包含是什么意思?列表中至少有一个词?
-
我使用这个 RSS 软件 (QuiteRSS),它允许我使用 qregexp 过滤掉包含某些单词的文章。但是,如果否定前瞻中的单词也在文章中,我不希望包含这些单词的文章被过滤掉。
-
所有答案都是一样的。