读书人

python中使用正则时遇到的一个有关问题

发布时间: 2012-10-21 09:00:07 作者: rapoo

python中使用正则时遇到的一个问题
有这样的一些数据:
10202 【1年级】【1班】 备注
7970 【一年级】 【2班】 534阿斯达5345
10202 【1年级】【1班】 沃尔沃日欧
665 【一年级】【2班】 后就可以
...


数据大致格式就如上面所示

我的正则是:
pattern = r'''
(^[0123456789]+)
[ ]* # 空格或tab
(【((.)*?)】) # 年级
[ ]* # 空格或tab
(【((.)*?)】) # 班
((.)*?) # 其余备注内容
'''

Python code
re.compile(pattern , re.VERBOSE)match = target.search('665 【一年级】【2班】 后就可以')if match:    print match.group(0)


执行后发现漏掉了原数据后面的备注内容,执行结果如下:
665 【一年级】 【2班】

第一次写正则,不知道问题出在哪里,望高手指点

[解决办法]
探讨

引用:

Python code
[root@vps616 python]# python main.py
665
一年级
2班
后就可以
[root@vps616 python]# cat main.py
#python2.7.3
#coding=utf-8

import re

pattern = r'(\d+)\s*【(.*?)】\s*【(.……

读书人网 >perl python

热点推荐