python正则表达式之re模块使用
Published on 2018-07-28 22:23 in 分类: Tech / Python with zgxme
分类: Tech / Python

python正则表达式之re模块使用

    python第一个正则表达式

    https://www.imooc.com/learn/550

    r'imooc'  Pattern Match result

    复制代码
    In [2]: import re
    
    In [3]: pa = re.compile(r'imooc')
    #re的compile方法生成pattern对象
    
    In [4]: type(pa)
    Out[4]: _sre.SRE_Pattern
    
    In [5]: pa.
    pa.findall     pa.fullmatch   pa.match       pa.search      pa.subn
    pa.finditer    pa.groupindex  pa.pattern     pa.split       
    pa.flags       pa.groups      pa.scanner     pa.sub     
    
    In [8]: str = 'imooc python'
    
    In [9]: pa.match(str)
    #pattern对象的match方法对字符串进行匹配
    Out[9]: <_sre.SRE_Match object; span=(0, 5), match='imooc'> 
    In [10]: ma = pa.match(str) 
    
    In [11]: ma. 
    ma.end ma.group ma.lastgroup ma.re ma.start ma.endpos ma.groupdict 
    ma.lastindex ma.regs ma.string ma.expand ma.groups ma.pos ma.span 
    
    In [11]: ma.group() 
    Out[11]: 'imooc' 
    #返回匹配到的字符串
    
    In [15]: ma.span() 
    Out[15]: (0, 5)
    #返回匹配到的字符串下标索引
    复制代码

     

    复制代码
    In [1]: import re
    
    In [2]: pa = re.compile(r'imooc',re.I)
    #忽略字母大小写
    
    In [3]: pa
    Out[3]: re.compile(r'imooc', re.IGNORECASE|re.UNICODE)
    
    In [4]: ma = pa.match('imooc python')
    
    In [5]: ma.group()
    Out[5]: 'imooc'
    
    In [6]: ma = pa.match('Imooc python')
    
    In [7]: ma.group()
    Out[7]: 'Imooc'
    
    In [8]: ma = pa.match('ImoOc python')
    
    In [9]: ma.group()
    Out[9]: 'ImoOc'
    
    In [10]: ma.groups()
    Out[10]: ()
    
    In [11]: pa = re.compile(r'(imooc)',re.I)
    
    In [12]: ma = pa.match('imooc')
    
    In [13]: ma.group()
    Out[13]: 'imooc'
    
    In [14]: ma.groups()
    Out[14]: ('imooc',)
    #以分组的形式返回
    
    In [15]: ma = re.match(r'imooc','imooc python')
    #compile和match可进行合并
    
    In [16]: ma.group()
    Out[16]: 'imooc'
    复制代码

     

    posted @   zgxme  阅读(318)  评论(0编辑  收藏  举报
    编辑推荐:
    · AI与.NET技术实操系列(二):开始使用ML.NET
    · 记一次.NET内存居高不下排查解决与启示
    · 探究高空视频全景AR技术的实现原理
    · 理解Rust引用及其生命周期标识(上)
    · 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
    阅读排行:
    · DeepSeek 开源周回顾「GitHub 热点速览」
    · 物流快递公司核心技术能力-地址解析分单基础技术分享
    · .NET 10首个预览版发布:重大改进与新特性概览!
    · AI与.NET技术实操系列(二):开始使用ML.NET
    · 单线程的Redis速度为什么快?
    点击右上角即可分享
    微信分享提示