zoukankan      html  css  js  c++  java
  • 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++的小白
  • 相关阅读:
    IE8中li添加float属性,中英数字混合BUG
    jQuery ajax get与post后台交互中的奥秘
    BZOJ 4816 数字表格
    BZOJ 1598 牛跑步
    BZOJ 4077 Messenger
    相关分析 BZOJ 4821
    Crash的数字表格 BZOJ 2154 / jzptab BZOJ 2693
    回文串 BZOJ 3676
    古代猪文 BZOJ 1951
    树上的路径 BZOJ 3784
  • 原文地址:https://www.cnblogs.com/Real-m/p/13627692.html
Copyright © 2011-2022 走看看