Python正则表达式 - 不包括字符串的句子

时间:2014-12-10 10:39:12

标签: python regex

我有一系列句子我试图破译。以下是两个例子:

Valid for brunch on Saturdays and Sundays

Valid for brunch

我想编写一个标识早午餐单词的正则表达式,但仅限于句子不包含星期六或星期日这一词的情况。如何修改以下正则表达式?

re.compile(r'\bbrunch\b',re.I)

3 个答案:

答案 0 :(得分:1)

^(?!.*saturday)(?!.*sunday).*(brunch)

您可以尝试这种方式。抓住捕获。参见演示。

https://regex101.com/r/nL5yL3/18

答案 1 :(得分:1)

使用列表理解,如果你有sentences之类的列表中的所有句子,你可以使用以下理解:

import re
[re.search(r'\bbranch\b',s) for s in sentences if `saturday` not in s and 'sunday' not in s ]

答案 2 :(得分:0)

我会这样做,

>>> sent = ["Valid for brunch on Saturdays and Sundays", "Valid for brunch"]
>>> sent
['Valid for brunch on Saturdays and Sundays', 'Valid for brunch']
>>> for i in sent:
        if not re.search(r'(?i)(?:saturday|sunday)', i) and re.search(r'brunch', i):
            print(i)


Valid for brunch
相关问题