我有这些话:
FALSE_POSITIVE_TEXT_TERMS = {"single", "several words"}
我需要一个正则表达式同时:
(a) 提取一个完整的单词(例如“single”SHOULD被匹配)
(b) 忽略整个单词的一部分(例如,“sing”应该NOT匹配,因为它是“single”单词的一部分)
(b) 提取几个词的表达(例如“几个词”SHOULD被匹配)
(c) 如果这些词不是该表达式的一部分,则从词表达式中忽略这些词(例如,“several”应该NOT匹配,因为在这种情况下它不是“several words”的一部分)
换句话说,我的pytest应该通过:
FALSE_POSITIVE_TEXT_TERMS = {"single", "several words"}
(a) ("Single word example", 'Single'),
(b) ("I like to sing", None),
(c) ("Several words example", 'Several words'),
(d) ("Several apples", None),
我的代码:
re.compile( r"\b(" + "|".join(FALSE_POSITIVE_TEXT_TERMS) + r")\b", re.IGNORECASE )
现在仅适用于 (a) 和 (b) 情况。