use*_*878 0 python regex string split
这篇文章更接近我的问题,但它确实是这样,我有希望:
我有一个字符串,如下所示:
'Legal Leaves 2017'
Run Code Online (Sandbox Code Playgroud)
我试图通过使用这种技术分裂成字符串和年份:
import re
match = re.match(r"([a-z]+)([0-9]+)", 'Legal Leaves 2017', re.I)
match.groups()
Run Code Online (Sandbox Code Playgroud)
但我没有得到任何结果,这意味着我的正则表达式不正确.请帮助.
显然,'Legal Leaves '
不会匹配[a-z]+
,因为它有两个空格,并且空格与类不匹配[a-z]
.
如果您希望两个空格都是您匹配的一部分,则需要向类中添加显式空格或a \s
: ([a-z\s]+)([0-9]+)
.
如果您希望第一个空格是您匹配的一部分,但第二个空格要被视为分隔符,您需要通过添加所需的任何分隔符(空格,任何空格,一个或多个空白字符,介于两者之间:([a-z\s]+)\s+([0-9]+)
.
如果你只想匹配Leaves
,那么你只需要分隔符,但你也想使用search
而不是match
:([a-z]+)\s+([0-9]+)
.
但与此同时,如果你真的不明白你用正则表达式做了什么,为什么你甚至在这里使用它?如果你的格式真的像它看起来一样静态,你可以这样做:
>>> s = 'Legal Leaves 2017'
>>> s.rpartition(' ')
('Legal Leaves', ' ', '2017')
Run Code Online (Sandbox Code Playgroud)