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')
我想编写一个正则表达式来使用 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')