• Python—正则表达式


    单字符匹配

    字符 匹配规则 示例
    . 匹配任意一个字符(除了换行: ) re.match("...", "ab") 
    [] 匹配[ ]中的任意一个字符 re.match("1[34578]","18") 
    d 匹配任意一个数字字符,即0-9。d = [0-9] re.match("d", "2") 
    D 匹配任意一个非数字字符。D = [^0-9] re.match("D", "a") 
    s 匹配任意一个空白字符,相当于 [ fv] re.match("s", " a")
    S 匹配任意一个非空白字符,相当于 [^ fv] re.match("S", " a") 
    w 匹配数字、字母、下划线中的任意一个字符,相当于 [a-zA-Z0-9_] re.match("w", "_a") 
    W 匹配非数字、字母、下划线中的任意一个字符,相当于 [^a-zA-Z0-9_] re.match("W", "1a") 

    多字符匹配(匹配多个字符的相关格式:表示数量)

    字符 匹配规则 示例
    * 匹配前一个元字符出现0次或者多次,即可以有0次。 re.match("d*", "123") 
    + 匹配前一个元字符出现1次或者多次,即至少有1次。 re.match("d+", "123") 
    ? 匹配前一个元字符出现1次或者0次,即要么有1次,要么没有。 re.match("d?", "1234abc") 
    {m} 匹配前一个元字符出现 m 次。 re.match("d{3}[a-z]", "1234abc") 
    {m,} 匹配前一个元字符至少出现 m 次。 re.match("d{3,}[a-z]", "1234abc") 
    {m,n} 匹配前一个元字符出现m次到n次。 re.match("d{3,5}[a-z]", "1234abc") 

    表示边界

    字符 匹配规则 示例
    ^ 匹配目标字符串的开始位置,多行模式下匹配每一行的开始  
    $ 匹配目标字符串的结束位置,多行模式下匹配每一行的结束  
     匹配一个单词的边界。单词边界:数字字母下划线和其它字符的交界位置为单词的边界 示例如下  
    B 匹配非单词的边界。就是看单词两边是不是数字字母下划线。若是,即为非单词边界 示例如下 
    A 匹配字符串开始位置(^),忽略多行模式  
     匹配字符串结束位置($),忽略多行模式  
    import re
    
    list = re.findall(r"is", "this is a test")
    print list      # ['is']   is 左右两边都不是数字字母下划线的只有一个,即第二个is匹配成功(左右两边都是空格)。
    list = re.findall(r"is", "this_is a test")
    print list      # []       is 左右两边都不是数字字母下划线的没有一个。

    原始字符串

    str = "
    abc"
    print str      # abc
    str = "\nabc"
    print str      # 
    abc
    str = r"
    abc"
    print str      # 
    abc
    
    import re
    
    str = "\nabc"
    print str      # 
    abc
    str = r"
    abc"
    print str      # 
    abc
    
    res = re.match("\\nabc", str)
    print res.group(0)   # 
    abc
    res = re.match(r"\nabc", str)
    print res.group(0)   # 
    abc
    # str = "\nabc" = r"
    abc"
    

      

    https://blog.csdn.net/weixin_40907382/article/details/79654372

    https://www.cnblogs.com/dyfblog/p/5880728.html

  • 相关阅读:
    设计模式之桥接模式(Java语言描述)
    我和CSDN的那些事
    设计模式之合成模式(Java语言描述)
    CAP原理和BASE思想
    finsh初步
    RTT第一个工程
    时钟芯片默认时间
    嵌入式MCU
    RTT工程管理
    反馈及运放基础了解
  • 原文地址:https://www.cnblogs.com/liuhaidon/p/11479183.html
Copyright © 2020-2023  润新知