猿问

求解,关于python3中的re.split与re.findall的区别

import re
pattern = re.compile(r'\d+')
print(re.split(pattern,'one1two2three3four4'))

import re
pattern = re.compile(r'\d+')
print(re.findall(pattern,'one1two2three3four4'))
为什么第一个结果是英文第二个是数字

qq_遁去的一_1
浏览 500回答 1
1回答

守着星空守着你

你的Python程序输出结果是对的. re.split是以re.compile中的正则表达式对字符串进行切分. re.findall是以re.compile中的正则表达式对字符串进行匹配. 就拿你的例子来说吧, re.split是以数字为边界对字符串'one1two2three3four4'进行切分,得到['one','two','three','four','']五个字符串 re.findall是匹配字符串'one1two2three3four4'中的所有数字,得到['1','2','3','4']四个数字
随时随地看视频慕课网APP
我要回答