zoukankan      html  css  js  c++  java
  • python3笔记二十二:正则表达式之函数

    一:学习内容

    • re.match函数
    • re.search函数
    • re.findall函数

    二:re.match函数

    需要导入包:import re

    1.格式:match(pattern,string,flags = 0)

    2.参数

    pattern:匹配的正则表达式
    string:要匹配的字符串
    flags:标识位,用于控制正则表达式的匹配方式,它的值有:
               re.I  忽略大小写
               re.L  做本地化识别
               re.M  多行匹配,影响^和$
               re.S  使.匹配包括换行符在内的所有字符
               re.U  根据Unicode字符集解析字符,影响w W  B
               re.X  使我们以更灵活的格式理解正则表达式

    3.功能:尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,返回None

    4.举例:

    #扫描整个字符串,返回从起始位置成功的匹配
    print(re.match("www","www.baidu.com"))  #匹配正确
    print(re.match("www","ww.baidu.com"))   #匹配不到返回None
    print(re.match("www","baidu.www.com"))  #匹配不到返回None,从起始位置就要能匹配上
    print(re.match("www","wwW.baidu.com"))  #匹配不到,大写的W
    print(re.match("www","wwW.baidu.com",flags=re.I))  #匹配正确,因为忽略大小写了

    print(re.match("www","www.baidu.com").span())  #匹配正确,返回匹配的位置

    三:re.search函数

    需要导入包:import re

    1.格式:search(pattern,string,flags = 0)

    2.参数:
    pattern:匹配的正则表达式
    string:要匹配的字符串
    flags:标识位,用于控制正则表达式的匹配方式,它的值有:
               re.I  忽略大小写
               re.L  做本地化识别
               re.M  多行匹配,影响^和$
               re.S  使.匹配包括换行符在内的所有字符
               re.U  根据Unicode字符集解析字符,影响w W  B
               re.X  使我们以更灵活的格式理解正则表达式

    3.功能:扫描整个字符串,并返回第一个成功的匹配

    4.举例:

    print(re.search("tester","she is tester!tester is a good girl!"))

    四:re.findall函数

    需要导入包:import re

    1.格式:findall(pattern,string,flags = 0)

    2.参数:
    pattern:匹配的正则表达式
    string:要匹配的字符串
    flags:标识位,用于控制正则表达式的匹配方式,它的值有:
               re.I  忽略大小写
               re.L  做本地化识别
               re.M  多行匹配,影响^和$
               re.S  使.匹配包括换行符在内的所有字符
               re.U  根据Unicode字符集解析字符,影响w W  B
               re.X  使我们以更灵活的格式理解正则表达式

    3.功能:扫描整个字符串,并返回所有匹配成功的数据,返回一个列表

    4.举例:

    print(re.findall("tester","she is tester!Tester is a good girl!",flags=re.I))

  • 相关阅读:
    Windows设置VMware开机自动启动,虚拟机也启动
    PHP中unset,array_splice删除数组中元素的区别
    Linux 出现 E325:ATTENTION swap
    Linux中的info指令
    java创建线程的三种方式——附源码说明
    JVM类加载过程
    java实现责任链模式的小demo
    讲讲java中线程池的实现
    将原型模式和建造者模式结合起来耍一耍
    一个简单的单例模式Demo
  • 原文地址:https://www.cnblogs.com/miaomiaokaixin/p/11509905.html
Copyright © 2011-2022 走看看