Python 正则表达式 re.findall()

Python re.findall

  • 正文
  • 示例一
  • 示例二
  • 示例三
  • 正文

    调用方法:

    re.findall(pattern, string, flags=0)
    

    用法说明:
    扫描整个 字符串,找到所有满足匹配样式的字符,将它们集合在一起以列表形式返回。其中这个返回的列表包含空的结果(没有匹配到的结果)。

    示例一

    import re
    
    str1 = "The telephone number of police in China is 110, and the telephone number of emergency is 120."
    pattern = "\d+"
    result = re.findall(pattern, str1)
    print(result)
    """
    result:
    ['110', '120']
    """
    

    可以看到。通过这种匹配方式,我们成功地找出了一个字符串中的所有数字对象,并将它们集合起来作为一个列表对象进行了返回。

    示例二

    import re
    
    str1 = "I got 1.0, and my classmate got 2.0."
    pattern = "\d+"
    result = re.findall(pattern, str1)
    print(result)
    """
    result:
    ['1', '0', '2', '0']
    """
    

    我们是想通过匹配获取1.02.0这两个数字的。然而事与愿违,我们获得的是四个独立的数字,怎么办呢?应采用如下代码:

    import re
    
    str1 = "I got 1.0, and my classmate got 2.0."
    pattern = "\d.\d"
    result = re.findall(pattern, str1)
    print(result)
    """
    result:
    ['1.0', '2.0']
    """
    

    可以看到,我们成功地获取到了我们需要的数字。

    示例三

    import re
    
    str1 = "I got 1.0, and my classmate got 2.0."
    pattern = "\d\d"
    result = re.findall(pattern, str1)
    print(result)
    """
    result:
    []
    """
    

    当我们找不到匹配对象时会返回一个空的列表对象。这与re.findall()函数的用法说明一致。

    如果大家觉得有用,就请点个赞吧~

    作者:勤奋的大熊猫

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python 正则表达式 re.findall()

    发表回复