zoukankan      html  css  js  c++  java
  • re正则

     s = 'aaab2c1d3b4'
    match()匹配开头,匹配到一个就返回
    re.match('a;s)
    a
    search(),匹配所有,匹配到就返回, [ ]代表范围
    print(re.search('[0-9]',s))
    2
    
    

    findall()  匹配所有,找到全部,返回列表

    print(re.findall('[0-9]',s))
    ['2', '1', '3', '4']
     '.'匹配任意字符,匹配几个就写几个.
    print(re.search('..',s))
    aa
    '^'匹配开头,效果和macth一样  A
    print(re.search('^aaa',s))
    print(re.match('aaa',s))
    aaa
    aaa
    '$'匹配结尾
    print(re.search('4$',s))
    4
    '*' 匹配*号前的开头字符0次或者多次,如果匹配一个字符,则从开头查找,如果是多个字符,则多个同时查找
    print(re.search('cc1*','1aa1aab1bbc1cc111').group)
    cc111
    '+'匹配前面一个字符1次或者多次,查找全部
    print(re.search('z+','aabb111123daaaa1aazzabbzd'))
    zz
    '?' 匹配一个字符0次或1次
    print(re.search('az?','vazzzzZzyiqunz'))
    az
    {m},匹配一个字符,连续匹配到多少次,
    print(re.search('a{3}','1bbbvvvaaaa'))
    aaa
    {n,m} 匹配一个字符n到m次,默认按匹配最大的匹配,如果最大的没有,就依次匹配小一次
    print(re.search('[a-z]{1,3}','1zheng'))
    zhe
    | 匹配左边或者右边的字符,一个匹配到就返回
    print(re.search('[Z|z]heng','Zheng'))
    Zheng
    '(...)'分组匹配,需要配合groups使用 
    print(re.search('(D+)(d+)','zheng123').groups())
    ('zheng', '123')
    
    
    d+ 匹配数字,相当于[0-9]+ 匹配任意多个数字,贪婪模式
    print(re.search('d+','ascasd1321654132d'))
    1321654132
    D 匹配非数字
    print(re.search('D+','deasq2c123'))
    deasq
    A 只匹配开头,效果和^ match 效果一样
    print(re.search('Aaaa','aaa112av'))
    aaa
    w匹配[A-Za-z0-9]
    print(re.search('w+','asdasd12312asd*asd+'))
    asdasd12312asd
    W匹配非[A-Za-z0-9]
    print(re.search('W+','asdasd123/!*12asd*@asd+'))
    /!*
    '(?P<name>)'分组匹配
    s = '360281199206240010'
    res = re.search('(?P<sheng>d{3})(?P<city>d{3})',s)
    print(res.groupdict())
    {'sheng': '360', 'city': '281'}
    split 和findall功能相反
    print(re.split('D+',s))
    print(re.findall('D+',s))
    ['', '2', '1', '3', '4']
    ['aaab', 'c', 'd', 'b']
    分隔字符,maxsplit 分隔几次
    s = '123,3123,asdasd,234234'
    print(re.split(',',s,maxsplit=2))
    ['123', '3123', 'asdasd,234234']
    fullmatch匹配全部
    print(re.fullmatch('123','123'))
    print(re.fullmatch('w+@w+.(com|cn|edu)','493791411@qq.com'))
    123
    493791411@qq.com
    通过先定义匹配规则,然后在进行匹配,这样如果有大量匹配的时候,效率很高
    ress = re.compile('w+@w+.(com|cn|edu)')
    print(ress.match('493791411@qq.com'))
    
    
     
  • 相关阅读:
    Asp.NET 4.0 ajax实例DataView 模板编程1
    ASP.NET 4.0 Ajax 实例DataView模板编程 DEMO 下载
    部分东北话、北京话
    .NET 培训课程解析(一)
    ASP.NET 4.0 Ajax 实例DataView模板编程2
    ASP.NET Web Game 架构设计1服务器基本结构
    ASP.NET Web Game 构架设计2数据库设计
    TFS2008 基本安装
    Linux上Oracle 11g安装步骤图解
    plsql developer远程连接oracle数据库
  • 原文地址:https://www.cnblogs.com/zhengyiqun1992/p/10054061.html
Copyright © 2011-2022 走看看