请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

为什么会匹配出一个空字符

lis = ‘123213213’

r = re.findall(’\d*’,lis)
print®
运行结果为:[‘123213213’, ‘’]
为什么会匹配出一个空字符

正在回答 回答被采纳积分+3

2回答

慕粉916768 2019-08-14 21:19:26

'*'表示匹配0次或多次,'\d*'就表示要查找0个数字(空)或多个数字,所以会出现2个结果。如果换成 '\d+','+'表示至少前面的数字匹配一次或多次,那么就不会有空字符串出现。

0 回复 有任何疑惑可以回复我~
白龙马2020 2019-07-01 02:00:32

对它前面的正则式匹配0到任意次重复, 尽量多的匹配字符串。 ab* 会匹配 'a', 'ab', 或者 'a'``后面跟随任意个 ``'b'。

或者说这个字符串结尾是个空字符结尾的,不知道对不对!

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号