• 正则模块


    海燕

    字符组

    字符

    量词

     .^$

     *+?{}

     贪婪匹配

     字符集

     分组()与或|[^]:

    (1)^[1-9]d{13,16}[0-9x]$     #^以数字0-9开始,
                                    d{13,16}重复13次到16次
                                    $结束标志
    上面的表达式可以匹配一个正确的身份证号码
     
    (2)^[1-9]d{14}(d{2}[0-9x])?$     
    #?重复0次或者1次,当是0次的时候是15位,是1的时候是18位
    3)^([1-9]d{16}[0-9x]|[1-9]d{14})$
    #表示先匹配[1-9]d{16}[0-9x]如果没有匹配上就匹配[1-9]d{14}  

    re模块相关方法

    # 1.re模块下的常用方法
    # 1.findall方法
    import re
    ret = re.findall('a','eva ang  egons')
    # #返回所有满足匹配条件的结果,放在列表里
    print(ret)
    
    # 2.search方法
    # 函数会在字符串中查找模式匹配,只会找到第一个匹配然后返回
    # 一个包含匹配信息的对象,该对象通过调用group()方法得到匹配的
    # 字符串,如果字符串没有匹配,则报错
    ret = re.search('s','eva ang  egons')#找第一个
    print(ret.group())
    
    # 3.match方法
    print(re.match('a','abc').group())
    #同search,只从字符串开始匹配,并且guoup才能找到
    
    # 4.split方法
    print(re.split('[ab]','abcd'))
    #先按'a'分割得到''和'bcd',在对''和'bcd'分别按'b'分割
    
    
    # 5.sub方法
    print(re.sub('d','H','eva3sdf4ahi4asd45',1))
    # 将数字替换成'H',参数1表示只替换一个
    
    
    # 6.subn方法
    print(re.subn('d','H','eva3sdf4ahi4asd45'))
    #将数字替换成’H‘,返回元组(替换的结果,替换了多少次)
     
    
    # 7.compile方法
    obj = re.compile('d{3}')#将正则表达式编译成一个正则表达式对象,规则要匹配的是三个数字
    print(obj)
    ret
    = obj.search('abc12345eeeee')#正则表达式对象调用search,参数为待匹配的字符串 print(ret.group()) #.group一下就显示出结果了 # 8.finditer方法 ret = re.finditer('d','dsf546sfsc')#finditer返回的是一个存放匹配结果的迭代器 # print(ret)#<callable_iterator object at 0x00000000021E9E80> print(next(ret).group())#查看第一个结果 print(next(ret).group())#查看第二个结果 print([i.group() for i in ret] )#查看剩余的左右结果
  • 相关阅读:
    入门学习嵌入式260期手把手配套视频7个项目实战送书
    使用from 的setTimeOut方法实现定时关闭Form
    C#面试题
    《JS语法字典》网友总结
    简单SQL语句小结
    面试前的简历
    Hello World的17种写法(C#)(转贴)
    张芸京 偏爱
    关于我对.setTmp()的理解及应用
    VS 2005使用技巧
  • 原文地址:https://www.cnblogs.com/zh-xiaoyuan/p/13322476.html
Copyright © 2020-2023  润新知