zoukankan      html  css  js  c++  java
  • re模块

    正则表达式模块
    常用的正则表达式符号:
      . 默认匹配除 以外的任意一个字符,如果制定falg,DOTALL,则匹配任意字符,包括换行
      '^' 匹配字符串的开头
      '$' 匹配字符串的结尾
      '*' 匹配*号前的字符0次或者多次
      '+' 匹配前一个字符1次或多次
      '?' 匹配前一个字符1次或0次
      ‘{n}’ 匹配一个字符n次
      '{n,m}' 匹配前一个字符n到m次
      ‘|’ 匹配左边或右边的字符串
      ‘()’ 分组匹配
     
      ‘A’ 只从字符串开头匹配
      '' 匹配字符串的结尾,和$相同
      'd' 只匹配数字0-9
      'D' 匹配非数字
      'w' 匹配字符数字[a-zA-Z0-9]
      'W' 匹配非字符数字
      ‘s’ 匹配空白符、 等
     
      ‘(?P<name>regx)’ 分组匹配,并且把匹配到的字符串和name进行关联,通过groupdict()进行输出
     
    简单用法:
      res = re.match('regx','str') -->利用regx对str进行从头开始匹配(注意,match默认就是从头开始匹配)
      res.group() -->列出匹配到的字符串
     
      res = re.search('regx','str') -->对字符串进行搜索,可以从任意位置开始,匹配到1个,就返回
      res = re.findall('d','1a2b3c4d') -->查找所有匹配到的字符串,并用list进行存储
     
    #分组命名匹配
      >>> import re
      >>> res3 = re.search('(?P<id>d)','abc1d2e3f')
      >>> print(res3.groupdict())
      {'id': '1'}
      >>>
     
    #利用正则对字符串进行分割,然后返回list
      >>> re.split('d+','a1a2b3c4d')
      ['a', 'a', 'b', 'c', 'd']
     
     
    #替换
      >>> re.sub('d','|','a1b2c3d4')
      'a|b|c|d|'
     
     
    其他匹配模式:
      1、忽略大小写: re.I
      2、多行模式: re.M
      3、点任意匹配模式:re.S,既加上re.S 点就可以匹配任意字符 包括换行符
     
     
     
  • 相关阅读:
    蓝桥杯 算法提高 11-1实现strcmp函数 (JAVA方法)
    蓝桥杯 算法提高 11-1实现strcmp函数 (JAVA方法)
    Java远程调用邮件服务器,实现邮件发送
    利用命令行来安装应用到android虚拟机
    sql查询语句优化需要注意的几点
    hdu1198--并查集
    处理百万级以上的数据查询提高效率的办法
    EasyMock入门
    百度绿萝算法2.0更新 外链数降低分析
    Memcached 学习笔记(二)——ruby调用
  • 原文地址:https://www.cnblogs.com/dachenzi/p/6666550.html
Copyright © 2011-2022 走看看