免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2498 | 回复: 3
打印 上一主题 下一主题

正则表达式的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-13 17:07 |只看该作者 |倒序浏览
现在有以下格式:
_____Head___0______  _____Head___1______
_____Head___2______
42 0077D.187 187
01
42 00865.4AA 4AA
01
42 00866.4AA 4AA
01
42 00867.4AA 4AA
01
42 00868.4AA 4AA 01

_____Head___0______  _____Head___1______
_____Head___2______
42 01214.4A0 4A0 01  42 00035.3AD 3AD 01      42 002EE.18C 18C
01
42 0126F.161 161 01  42 01488.27B 27B 01        42 0085D.384 384
01
42 02FF9.558 558 01  42 073E0.28D 28D 01       42 00866.384 384
01
42 03C79.507 507 01  42 073E2.28D 28D 02       42 00B1D.05D 05D
01
42 03C84.507 507 01  42 073E5.28D 28D 02       42 00B1F.05D 05D
01


现在这个
self.pattern_out = r"(?P<defect>(?P<EC>\S{2})\s(?P<CYL>\S{5})\.(?P<S1>
\S{3})\s(?P<S2>\S{3})\s(?P<C>\d{2})\s*\n)"
正则表达式该怎样修改才才能匹配上面的数据

论坛徽章:
0
2 [报告]
发表于 2007-09-15 23:18 |只看该作者
不知道你想得到什么数据,请写详细一点.

论坛徽章:
0
3 [报告]
发表于 2007-09-17 09:07 |只看该作者
比如 42 01214.4A0 4A0 01这是一条需要匹配的记录
匹配的格式是
Ec  CYL          S1      S2     C
42  01214     4A0    4A0   01
就是匹配成这样的记录

我需要写一个正则表达式得到匹配里面的所有数据
然后得到这些数据的LIST

self.pattern_out = r"(?P<defect>(?P<EC>\S{2})\s(?P<CYL>\S{5})\.(?P<S1>
\S{3})\s(?P<S2>\S{3})\s(?P<C>\d{2})\s*\n)"
这个现在MS匹配不了

请问该怎么修改?

论坛徽章:
0
4 [报告]
发表于 2007-09-17 14:01 |只看该作者
对于这一串数据:
42 01214.4A0 4A0 01  42 00035.3AD 3AD 01      42 002EE.18C 18C 01


试试这个:
(?P<defect>(?P<EC>\S+)\s(?P<CYL>\S*)[.](?P<S1>\S*)\s(?P<S2>\S*)\s(?P<C>\S+)\s*)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP