zoukankan      html  css  js  c++  java
  • re模块的使用

    re模块下的函数

    compile(pattern):创建模式对象

    import re
    pat = re.compile('D')
    m = pat.search('CBA')  #等价于re.search('A', 'ABC')
    n = pat.search('BCD')
    
    if m:
        print("####")
    if n:
        print("****")
    

    search(pattern,string):在字符串中寻找模式

    m = re.search('asd','ASDasd')
    print(m) 
    ##<_sre.SRE_Match object at 0xb72cd6e8>  #匹配到了,返回MatchObject(True)
    n = re.search('asd','ASDASD')
    print(n)
    ## None                                   #没有匹配到,返回None(False)
    

    match(pattern,string):在字符串开始处匹配模式

    m = re.match('asd','asdasd')
    print(m)
    ## <_sre.SRE_Match object at 0xb72cd6e8>  #匹配到了,返回MatchObject(True)
    n = re.match('asd','ASDASD')
    print(n)
    # 等价于
    pat=re.compile('a')
    print(pat.match('Aasd'))
    print(pat.match('aASD'))
    

    split(pattern,string):根据模式分割字符串,返回列表

    re.split(',','a,s,d,asd')
    ## 返回列表['a', 's', 'd', 'asd']  
    
    #等价于
    pat = re.compile(',')
    pat.split('a,s,d,asd')
    #返回列表['a', 's', 'd', 'asd']          
    
    re.split('[, ]+','a ,  s  ,d     ,,,,,asd')   #正则匹配:[, ]+,后面说明
    ##返回列表['a', 's', 'd', 'asd']
    
    re.split('[, ]+','a ,  s  ,d     ,,,,,asd',maxsplit=2) # maxsplit 最多分割次数
    ## 返回列表['a', 's', 'd     ,,,,,asd']
    
    pat = re.compile('[, ]+')                     #正则匹配:[, ]+,后面说明
    pat.split('a ,  s  ,d     ,,,,,asd',maxsplit=2)        # maxsplit 最多分割次数
    ## 返回列表['a', 's', 'd     ,,,,,asd']
    

    findall(pattern,string):列表形式返回匹配项

    re.findall('a','ASDaDFGAa')
    # ['a', 'a']                           #列表形式返回匹配到的字符串
    
    pat = re.compile('a')
    pat.findall('ASDaDFGAa')
    # ['a', 'a']                           #列表形式返回匹配到的字符串
    pat = re.compile('[A-Z]+')       #正则匹配:'[A-Z]+' 
    pat.findall('ASDcDFGAa')
    ## ['ASD', 'DFGA']                      #找到匹配到的字符串
    
    pat = re.compile('[A-Z]')
    pat.findall('ASDcDFGAa')         #正则匹配:'[A-Z]+' 
    ## ['A', 'S', 'D', 'D', 'F', 'G', 'A']  #找到匹配到的字符串
    
    pat = re.compile('[A-Za-z]')     #正则匹配:'[A-Za-z]+' 匹配所有单词,后面有说明
    pat.findall('ASDcDFGAa')
    

    sub(pat,repl,string) :用repl替换 pat匹配项

    re.sub('a','A','abcasd')   #找到a用A替换,后面见和group的配合使用
    ## 输出 'AbcAsd'
    
    # 等价于
    pat = re.compile('a')
    pat.sub('A','abcasd')
    ## 输出'AbcAsd'
    
    ## 网址:https://www.zhihu.com/search?q=python%20re模块&utm_content=search_history&type=content(更详细)
    
  • 相关阅读:
    第四章:Django模型——添加 Event发布会的表 报错
    第四章:Django模型——admin后台管理
    第四章:Django 模型 —— 设计系统表
    第三章:3.9 清除 Google 浏览器中的缓存
    第三章:3.9 关上窗户
    第三章:3.9 引用Django 认证登陆
    第三章:3.8 登陆 Django 默认后台
    降脂食物
    决定孩子人生高度的,不是知识而是这个!
    百万保险
  • 原文地址:https://www.cnblogs.com/ffjsls/p/11349709.html
Copyright © 2011-2022 走看看