使用正则表达式在关键短语python出现后删除句子

使用正则表达式在关键短语python出现后删除句子,python,regex,Python,Regex,我正在寻找一个正则表达式解决方案,在出现关键短语后删除句子其余部分中的任何单词 范例 天气预报说今天大部分时间是晴天。天气预报明天有雨。这周剩下的时间 关键短语=明天 期望输出=今天的天气预报基本上是晴朗的。天气预报。这周剩下的时间 企图 我的想法是首先将字符串拆分成句子,应用上述技巧,然后加入结果。然而,我觉得必须有一种更优雅的方式来处理正则表达式 感谢使用re.sub提供的帮助 例: 输出 The weather forecast for today is mostly sunny. The

我正在寻找一个正则表达式解决方案,在出现关键短语后删除句子其余部分中的任何单词

范例

天气预报说今天大部分时间是晴天。天气预报明天有雨。这周剩下的时间

关键短语=明天

期望输出=今天的天气预报基本上是晴朗的。天气预报。这周剩下的时间

企图

我的想法是首先将字符串拆分成句子,应用上述技巧,然后加入结果。然而,我觉得必须有一种更优雅的方式来处理正则表达式

感谢使用re.sub提供的帮助

例:

输出

The weather forecast for today is mostly sunny. The forecast . The rest of the week...
使用

关于{re.escapekey_短语}[^.]*,句子 看

解释

---------------------------------------- 为了“为了” ---------------------------------------- \ ' ' ---------------------------------------- 明天‘明天’ ---------------------------------------- [^.]*除“.”以外的任何字符0次或更多次 匹配尽可能多的数量 见:

进口稀土 天气预报说今天大部分时间是晴天。天气预报明天有雨。这周剩下的时间。。。 关键短语=明天 printre.subbr{re.escapekey_短语}[^.]*,句子 结果:今天的天气预报大部分是晴朗的。天气预报。本周剩下的时间…

你试过使用吗?
sentence = "The weather forecast for today is mostly sunny. The forecast for tomorrow will be rainy. The rest of the week..."
key_phrase = "for tomorrow"
print(re.sub(fr"({key_phrase}.*?)(?=\.)", "", sentence))
The weather forecast for today is mostly sunny. The forecast . The rest of the week...