【问题标题】:Getting all 10 digit and 9 digit number for a string in python [duplicate]在python中获取字符串的所有10位和9位数字[重复]
【发布时间】:2020-06-02 10:25:30
【问题描述】:

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

【问题讨论】:

    标签: python regex


    【解决方案1】:

    您可以使用正则表达式来查找所有必需的匹配项:

    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

    【讨论】:

      猜你喜欢
      • 2014-06-23
      • 1970-01-01
      • 2017-09-14
      • 1970-01-01
      • 2015-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多