Pandas 一个开始词和多个停止词之间的数据帧提取

Pandas DataFrame extract between one START word and multiple STOP words

我想编写一个正则表达式来使用 str.extract 从 Pandas DataFrame 中提取模式,该模式提取在 START 单词之间找到的模式的第一个匹配项,并以两个可能的单词之一结束停用词。

示例# 1:START hello there STOP WORD

示例# 2:START 早上好另一个分隔符

在第一种情况下,我想 return 'hello there' ,在第二种情况下 'Good morning'

如果末尾只有一个停用词,如示例 1,则 str.extract 中的以下正则表达式有效。但是如何组合两个停止词?

r'(?s)START(.*?)STOP\s+WORD'

使用以下正则表达式交替:

\bSTART\s+(.*?)\s+(?:STOP WORD|ANOTHER DELIMITER)\b

Pandas代码:

df["match"] = df["col"].str.extract(r'\bSTART\s+(.*?)\s+(?:STOP WORD|ANOTHER DELIMITER)\b')