在python中按拆分字符后面的内容拆分字符串

在python中按拆分字符后面的内容拆分字符串,python,regex,Python,Regex,我有一根绳子看起来像 s = '1 john 2 james 34 baker 45 discover' split_list = ['1 john', '2 james', '34 baker', '45 discover'] 我需要一份清单 s = '1 john 2 james 34 baker 45 discover' split_list = ['1 john', '2 james', '34 baker', '45 discover'] 我开始使用regex split来实现

我有一根绳子看起来像

s = '1 john 2 james 34 baker 45 discover'
split_list = ['1 john', '2 james', '34 baker', '45 discover']
我需要一份清单

s = '1 john 2 james 34 baker 45 discover'
split_list = ['1 john', '2 james', '34 baker', '45 discover']
我开始使用regex split来实现这一点,但没有得到预期的结果

import re
s = '1 john 2 james 34 baker 45 discover'
s = re.split('\d+',s)
print s

['', ' john ', ' james ', ' baker ', ' discover']
我猜split不起作用,因为它不返回拆分模式。如果有任何线索可以用蟒蛇的方式来做这件事,请尝试相反的方法

s = re.findall('\d+ \w+',s)
试试相反的方法

s = re.findall('\d+ \w+',s)

您还可以使用非捕获前瞻
(?=\d+
确保空格后有一个数字,但它不包括在分隔符中

import re
s = '1 john 2 james 34 baker 45 discover'
s = re.split(' (?=\d+)',s)
print s

['1 john', '2 james', '34 baker', '45 discover']

您还可以使用非捕获前瞻
(?=\d+
确保空格后有一个数字,但它不包括在分隔符中

import re
s = '1 john 2 james 34 baker 45 discover'
s = re.split(' (?=\d+)',s)
print s

['1 john', '2 james', '34 baker', '45 discover']