• python-re


    1. 基本使用:

     
    输出
    #re
    #pattern = re.compile()  #生成pattern对象
    #pattern.match
    #pattern.search
    #pattern.find
    str1 = "itest python"
    pa = re.compile(r"itest")
    #加r代表是原字符串,不加r容易将 等进行转义。
    print (type(pa))
    print (help(pa))
    print(pa.match(str1))
    print(pa.match(str1).group())
    print (pa.match(str1).span())
    #获取原字符串
    print (pa.match(str1).string)
    #获取实例
    print (pa.match(str1).re)
     
     
     
    #忽略大小写
    pa = re.compile(r"itest",re.I)
    ma = pa.match("Itest python")
    print ("ma:", ma.group())
    ma1 = pa.match("ITEST python")
    print("mal:", ma1.group())
    ma2 = pa.match("itest python")
    print ("ma2:", ma2.group())
     
     
     
     
    #groups
    pa = re.compile(r"(itest)",re.I)
    ma_group = pa.match("Itest python").group()
    print ("ma_group:", ma_group)
    ma_groups = pa.match("Itest python").groups()
    print ("ma_groups:", ma_groups)
     
    <class 're.Pattern'>
    None
    <re.Match object; span=(0, 5), match='itest'>
    itest
    (0, 5)
    itest python
    re.compile('itest')
     
     
     
     
     
    ma: Itest
    mal: ITEST
    ma2: itest
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    ma_group: Itest
    ma_groups: ('Itest',)

    2. 基本语法

                  

         

      输出

    ma = re.match(r"{..}", "{ad}d")
    print ("ma:",ma.group())

    print (re.match(r"{[abc]}", "{a}").group())

    print (re.match(r"{[a-z]}", "{d}").group())
    print (re.match(r"{[a-zA-Z]}", "{A}").group())
    print (re.match(r"{[a-zA-Z0-9]}", "{8}").group())
     
     
     
    print (re.match(r"{[w]}", "{8}").group())
     
     
    print (re.match(r"{[w]}", "{}").group())
     
     
     
    print (re.match(r"{[W]}", "{ }").group())
     
     
     
     
    print (re.match(r"[[w]]",'[a]').group())
     
     
     
    print (re.match(r"{[abc]+}", "{ab}").group())

    ma: {ad}

    {a}
    {d}
    {A}
    {8}

    {8}

    'NoneType' object has no attribute 'group'

    { }

    [a]

    {ab}

         

            

      输出

    print (re.match(r'[A-Z][a-z]*', 'Aadddd dd').group())

    print (re.match(r"[1-9]?[0-9]",'09').group())
    print (re.search(r"[1-9]?[0-9]",'09').group())

    print (re.match(r"[a-zA-Z0-9]{6,10}@163.com",'adc123@163.com').group())
    print (re.match(r"[a-zA-Z0-9]{6,10}@163.com",'adc12345@163.com').group())
     
     
     
     
    print (re.match(r"[0-9][a-z]*",'1bc').group())
    print (re.match(r"[0-9][a-z]*?",'1bc').group())
    print (re.match(r"[0-9][a-z]+?",'1bc').group())
    print (re.match(r"[0-9][a-z]??",'1bc').group())

    Aadddd

    0
    0
    adc123@163.com
    adc12345@163.com

    1bc
    1
    1b
    1

            

              print (re.match(r"^[a-zA-Z0-9_]*$", "jadsjkjs2222((").group())       指定字符串里面只能有字符,数字和下划线

           

              

              

      输出

     print (re.match(r"^[1-9]?d$",'99').group())
    print (re.match(r"^[1-9]?d$|100",'100').group())

    print (re.match(r"[w]{6,10}@(163|126).com",'adc123@163.com').group())
    print (re.match(r"[w]{6,10}@(163|126).com",'adc123@126.com').group())
    print (re.match(r"[w]{6,10}@(163|126|qq).com",'adc123@qq.com').group())
     
     
     
     
     
     
     

     99
    100

     

     

     

    adc123@163.com
    adc123@126.com
    adc123@qq.com

         (?:w+.)* 以句点结尾的字符串,如:gooogle. , 但是这些匹配不会保存下来供后续的使用和数据检索
    (?#comment) 此处不做匹配, 只是作为注释用

    (?=.com) 如果一个字符串后面跟着“.com”才做匹配

    (?!.com) 如果一个字符串后面不是跟着“.com”才做匹配
    (?<=800-) 如果字符串之前为800-才做匹配

    (?<!192.168.) 如果一个字符串之前不是 “192.168” 才做匹配操作, 假定用于过滤一组c类ip地址

    (?(1)y|x) 如果匹配组 11)存在,就与y匹配,否则和x匹配

  • 相关阅读:
    2010全球最值得模仿的230个网站 dodo
    IIS支持解析json dodo
    很好用的界面设计工具——Balsamiq dodo
    git本地分支目录和远程服务器的分支目录不一样的同步方法
    中新赛克——基于工业资产全息画像的工业互联网安全监测平台 规格严格
    解决redis requires ruby version 2.3.0[转载] 规格严格
    fpm包安装 规格严格
    git本地分支目录和远程服务器的分支目录不一样的同步方法[转】 规格严格
    MyBatis逆向工程generatorConfig配置文件的Table中generatedKey的作用[转载] 规格严格
    How to set character_set_database and collation_database to utf8 in my.ini 规格严格
  • 原文地址:https://www.cnblogs.com/ting152/p/12810965.html
Copyright © 2020-2023  润新知