Regex Only获取第一个元素-Python

时间:2018-05-22 23:55:29

标签: python regex

我有以下代码:

import re

message = '13-45-33-19-29-8'

phoneNumRegex = re.compile(r'\d\d|\d-\d\d|\d-\d\d|\d-\d\d|\d-\d\d|\d- 
\d\d|\d') 
mo = phoneNumRegex.search(message) 
c = mo.group() 
new = c.replace('-',',')
print(type(new))
listed = list(map(int,new.split(',')))
print(listed)
print(type(listed))

当我运行代码时,它只输出[13],它应该是包含消息中所有数字的整个列表。这与\ d有关吗?我用了字符|为了捕获单个数字的数字。

1 个答案:

答案 0 :(得分:0)

您使用的是错误的功能。 search始终只返回第一个匹配项。您需要findall

phoneNumRegex.findall(message) 
#['13', '45', '33', '19', '29', '8']