Python 使用带字符串的正则表达式拆分序列成员

Python 使用带字符串的正则表达式拆分序列成员,python,regex,python-2.7,pandas,Python,Regex,Python 2.7,Pandas,大约一周前,我问了一个类似的问题,试图修改代码以适应不同的目的,但似乎无法使其工作 我想使用月份缩写作为分隔符拆分字符串(因此,我将使用一月、二月、三月、四月、五月、六月等) 我试着用 df['a'] = [re.split(r'[JUNE|JULY]+', x) for x in df['a'] 以及一些变化(在x的之前添加.group(0)) 我猜我的问题是定界符的语法。查看正则表达式的文档,我应该能够使用字符串作为分隔符,但只能通过re.search找到一种方法 也尝试过 df['a']

大约一周前,我问了一个类似的问题,试图修改代码以适应不同的目的,但似乎无法使其工作

我想使用月份缩写作为分隔符拆分字符串(因此,我将使用一月、二月、三月、四月、五月、六月等)

我试着用

df['a'] = [re.split(r'[JUNE|JULY]+', x) for x in df['a']
以及一些变化(在x的
之前添加
.group(0)

我猜我的问题是定界符的语法。查看正则表达式的文档,我应该能够使用字符串作为分隔符,但只能通过
re.search
找到一种方法

也尝试过

df['a'] = [re.split[(('JUNE', 'JULY'), x).group(0) for x in df['a']]
系列中的数据如下所示:

df['a'] = ['ABCJUNE123', 'DEFJULY456', 'DEGJUNE765', 'DEFJUNE345']
我想:

df['a'] = ['ABC', 'DEF', 'DEG', 'DEF']
我的表达式缺少什么?

你的正则表达式是

r'JUNE|JULY'
例如:

>>> re.split(r'JUNE|JULY', 'ABCJUNE123')
['ABC', '123']

[JUNE | JULY]+
regex不代表
JUNE
JULY

是的,这是有效的。谢谢搜索顶部附近的文档,下次我将更仔细地查看。我使用
group
只获取第一个成员(不起作用),但后来我意识到这是一个列表。