在python中获取字符串的所有10位和9位数字

我是 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


阿波罗的战车
浏览 146回答 1
1回答

慕运维8079593

您可以使用正则表达式来查找所有必需的匹配项:import redata = '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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python