我是 python 的新蜜蜂。所以我只想从字符串中获取所有 10 位数字和 9 位数字。我有一个像这样的字符串Re: ehi - ECQ TANGAL INIP NA!!!! 67778877 NO LOAD 34567890123!!!! 5678901234 123456789应该只返回 9 和 10 位数字。数字可以出现在字符串中的任何位置。在上面的字符串中,它应该返回这些数字5678901234 123456789但不是67778877 as it is 8 digit number 34567890123 as it is 11 digit number
1 回答
慕运维8079593
TA贡献1876条经验 获得超5个赞
您可以使用正则表达式来查找所有必需的匹配项:
import re
data = 'Re: ehi - ECQ TANGAL INIP NA!!!! 67778877 NO LOAD 34567890123!!!! 5678901234 123456789'
values = re.findall(r'\b\d{9,10}\b', data)
print( values ) # ['5678901234', '123456789']
这里\b说明了数字组的边界\d(与 相同[0-9])。{9,10}是 的重复次数\d。
文档: https ://docs.python.org/3/library/re.html
添加回答
举报
0/150
提交
取消