【发布时间】:2015-02-26 22:09:20
【问题描述】:
我正在尝试做一些我认为很简单(并且可能是)的事情,但是我碰壁了。我有一个包含文档编号的字符串。在大多数情况下,格式为 ######-#-###,但在某些情况下,应为单个数字,但有多个单个数字分隔用逗号(即######-#,#,#-###)。由逗号分隔的个位数是可变的。下面是一个例子:
对于下面的字符串:
('030421-1,2-001 & 030421-1-002,030421-1,2,3-002, 030421-1-003')
我需要返回:
['030421-1-001', '030421-2-001' '030421-1-002', '030421-1-002', '030421-2-002', '030421-3-002' '030421-1-003']
我只返回了与 ######-#-### 模式匹配的字符串:
import re
p = re.compile('\d{6}-\d{1}-\d{3}')
m = p.findall('030421-1,2-001 & 030421-1-002,030421-1,2,3-002, 030421-1-003')
print m
提前感谢您的帮助!
马特
【问题讨论】:
-
我不知道
findallfunc 会如何修改你的代码。
标签: python regex string parsing substring