我有以下代码:
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有关吗?我用了字符|为了捕获单个数字的数字。
答案 0 :(得分:0)
您使用的是错误的功能。 search
始终只返回第一个匹配项。您需要findall
:
phoneNumRegex.findall(message)
#['13', '45', '33', '19', '29', '8']