【发布时间】:2021-07-29 21:34:45
【问题描述】:
我有一段文字,其中有一个句子包含“自从”一词。我的尝试是使用正则表达式来提取单词“since”之后的文本,直到下一个和上一个时期。比如文字是:
text = "I like to live in a big city. Today is Monday, since yesterday was Sunday."
我的正则表达式是
rule = re.compile(r'([a-zA-Z0-9\,\.\s\'])\bsince\b([a-zA-Z0-9\,\.\s\'])', re.IGNORECASE)
patterns = rule.match(text)
但是,patterns.group(1) 返回的I like to live in a big city. Today is Monday, 包含我不想要的句子,即我只想要Today is Monday, 。如何使用正则表达式来做到这一点?
【问题讨论】:
-
如果你需要
since之后直到下一个.,使用since\s*([^.]*)或\bsince\b\s*([^.]*) -
使用
r'[^.]*? since [^.]*?\.'