• 7、正则表达式re常用方法


    • 正则表达式的编译---可以提高匹配效率
    csvt_re = re.compile(r'csvt',re.I)      #属性re.I表示忽略大小写
    print(csvt_re.findall('CSvt'))          #打印匹配到的['CSvt']

      编译后的对象使正则表达式匹配更加灵活,对象常用的方法:

    1. match():决定RE是否在字符串刚开始的位置
    2. search():扫描字符串,找到RE匹配的位置,匹配的字符串可以是任意位置,没有的话返回None
    3. findall():找到RE匹配的所有子串,并作为一个列表返回
    4. finditer():找到RE匹配的所有子串,并作为一个迭代器返回

      match()和search()匹配成功返回一个matchObject,匹配失败返回None,match Object实例方法:

      group()--返回RE匹配的字符串

      start()---返回匹配开始的位置

      end()---返回匹配结束的位置

      span()---返回一个元组包含匹配的位置

      实际程序中,最常见的是使用将matchObject保存在一个变量中,然后检查变量是否为None  

    • re.sub():替换字符串,相比于字符串的方法replace()更加灵活
    rule = r'c..t'
    re.sub(rule,'python','csvt crrt cfet ffff')       #执行返回字符串'python python python ffff'
    re.subn(rule,'python','csvt crrt cfet ffff')      #执行返回元组('python python python ffff',3),表示一共替换了3次
    • re.split():切割字符串,相比于字符串的方法split()更加灵活
    >>> re.split(r'[+-*]','123+456-789*aaa')
    ['123', '456', '789', 'aaa']
    一个初识C++的小白
  • 相关阅读:
    set RowCount 与 top n
    Ubuntu 12.04 64bit 安装编译GCC 4.1.2 绝对原创
    C语言第11课
    Cocos2d-x之MenuItem
    wamp 已安装cakephp Fatal error: You must enable the intl extension to use CakePHP. in XXX
    jQuery性能优化38建议---最引人注目的用户体验!
    在面对变化,撇开NO
    批学习
    JAVA修饰符类型(public,protected,private,friendly)
    【Espruino】NO.15 nRF24L01+无线收发器
  • 原文地址:https://www.cnblogs.com/Real-m/p/13627692.html
Copyright © 2020-2023  润新知