Python 如何使用正则表达式拆分字符串和日期

Python 如何使用正则表达式拆分字符串和日期,python,regex,string,split,Python,Regex,String,Split,这篇文章更接近我的问题,但它并没有像我希望的那样: 我有一个字符串,如下所示: 'Legal Leaves 2017' 我尝试使用此技术将字符串和年份拆分为: import re match = re.match(r"([a-z]+)([0-9]+)", 'Legal Leaves 2017', re.I) match.groups() 但是我没有得到任何结果,这意味着我的正则表达式是不正确的。请帮忙。显然,'lagal Leaves'与[a-z]+不匹配,因为它有两个空格,空格与类[a-

这篇文章更接近我的问题,但它并没有像我希望的那样:

我有一个字符串,如下所示:

'Legal Leaves 2017'
我尝试使用此技术将字符串和年份拆分为:

import re
match = re.match(r"([a-z]+)([0-9]+)", 'Legal Leaves 2017', re.I)
match.groups()

但是我没有得到任何结果,这意味着我的正则表达式是不正确的。请帮忙。

显然,
'lagal Leaves'
[a-z]+
不匹配,因为它有两个空格,空格与类
[a-z]
不匹配

import re
match = re.match(r"([a-z ]+) ([0-9]+)", 'Legal Leaves 2017', re.I)
print(match.groups())


output: ('Legal Leaves', '2017')
如果希望两个空格都是匹配内容的一部分,则需要向类添加显式空格或
\s

如果希望第一个空格成为匹配内容的一部分,但第二个空格被视为分隔符,则需要通过在两个空格之间添加所需的任何分隔符(空格、任何空格、一个或多个空格字符等)来明确这一点:

如果您只想匹配
树叶
,那么您只需要分隔符,但您还想使用
搜索
,而不是
匹配


但与此同时,如果你不明白你在用正则表达式做什么,为什么还要用正则表达式呢?如果您的格式真的像看上去那样静态,您可以这样做:

>>> s = 'Legal Leaves 2017'
>>> s.rpartition(' ')
('Legal Leaves', ' ', '2017')

嗯,
'Legal Leaves'
不会匹配
[a-z]+
,因为它有两个空格。如何做到这一点plz expressgr8我从来不知道分区。这是固溶体。是的,我有来自数据库的静态数据。bt它几乎没有变化,我选择了正则表达式