正则表达 请教一个

色郎中 2017-03-24 05:45:04

s2='ANL;3;GOSUB DSC;6;1;GOSUB;;PASS;0.000000e+00;0.000000e+00;0.000000e+00;;;428'
p = re.compile(r'\;')
print p.split(s2)


结果

['ANL', '3', 'GOSUB DSC', '6', '1', 'GOSUB', '', 'PASS', '0.000000e+00', '0.000000e+00', '0.000000e+00', '', '', '428']


解析的结果,最后那个428之前,有个“;” 没有内容,想在结果中不要这个项,,怎么修改 正在表达式呢谢谢
...全文
144 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
色郎中 2017-03-24
  • 打赏
  • 举报
回复
引用 1 楼 u012536120 的回复:
改成这个。p = re.compile(r'\;*') 就没有空项了
是的,加上 * ,是达到需要的结果了。
另一个重复元字符是 +,表示匹配一或更多次。请注意 * 和 + 之间的不同;* 匹配零或更多次,所以可以根本就不出现,而 + 则要求至少出现一次。
sanGuo_uu 2017-03-24
  • 打赏
  • 举报
回复
改成这个。p = re.compile(r'\;*') 就没有空项了

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧