zoukankan      html  css  js  c++  java
  • Python库-re(正则表达式)

    re库是python的一个标准库,不需要自己用pip额外下载,直接调用即可。

    下面介绍以下库中函数的作用。

    1.re.compile(patterflags=0)

    patter是一个正则表达式字符串,例如"[0-9]+",该函数返回一个模式对象(patter object),str类型

    2.re.escape(str)

    str是一个字符串,该函数返回一个转义后的字符串,例如:

    t = re.escape("www.baidu.com")
    print(t)
    # 输出 www.baidu.com

    3.match(pattern, string, flags=0)

    该函数匹配字符串string的开头,遇到第一个不符合的字符时结束。若匹配成功,返回一个match对象(下文会介绍),否则返回None

    pattern = "[0-9]"
    string = "1abcd"
    m = re.match(pattern, string)
    print(m)
    # 输出 <_sre.SRE_Match object; span=(0, 1), match='1'>
    pattern = "[0-9]"
    string = "a1bcd"
    m = re.match(pattern, string)
    print(m)
    # 输出 None

    4.search(pattern,string,flags=0)

    在字符串string中,匹配第一组符合正则表达式的字符串。若匹配成功, 返回一个match对象(下文会介绍),否则返回None

    pattern = "[0-9]"
    string = "a1b2cd"
    m = re.search(pattern, string)
    print(m)
    # 输出 <_sre.SRE_Match object; span=(1, 2), match='1'>

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

    返回字符串string中所有符合正则表达式的字符串构成的列表

    pattern = "[0-9]"
    string = "a1b2cd"
    m = re.findall(pattern, string)
    print(m)
    # 输出 ['1', '2']

    6.finditer(pattern,string,flags=0)

    返回字符串string中所有符合正则表达式的字符串构成的iterator

    pattern = "[0-9]"
    string = "a1b2cd"
    m = re.finditer(pattern, string)
    for t in m:
        print(t)
    # 输出 
    <_sre.SRE_Match object; span=(1, 2), match='1'>
    <_sre.SRE_Match object; span=(3, 4), match='2'>

    match对象

    1.match.group(index=0)

    0 返回整个匹配到的字符串

    其他数字则返回对应的分组,多个数字返回相应分组构成的元组

    2.match.start()

    返回match的开始位置

    3.match.end()

    返回match 的结束位置

    4.match.group()

    返回一个元祖对象,(match.start(),match.end())

  • 相关阅读:
    Mvc请求管道中的19个事件
    asp.net 验证正则表达式
    Asp.net MVC进入请求管道的过程
    MVC(二)
    Aspect Oriented Programming (AOP)
    在C#中??和?分别是什么意思?
    MVC(一)
    ASP.NET 管道事件与HttpModule, HttpHandler简单理解
    Entity Framework && Lambda
    扩展类和扩展方法
  • 原文地址:https://www.cnblogs.com/woxiaosade/p/10012302.html
Copyright © 2011-2022 走看看