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 点就可以匹配任意字符 包括换行符
     
     
     
  • 相关阅读:
    找控件的父类
    silverlight和wpf中暴露 给子类override
    Oracle PLSQL 记录
    C#之TopShelf启动Windows服务 原文链接:https://blog.csdn.net/qq_36664495/java/article/details/90600995
    Super socket 记录知识
    oracle 查找字符位置 开始按照长度截取
    转 acl 库是啥、主要包含哪些功
    转自 posted on 2015-05-18 11:50 LitDev https://www.cnblogs.com/New-world/p/4511543.html
    dtu server 编译错误
    iOS 杂笔-22(万年一遇~一张图片对代理的理解)
  • 原文地址:https://www.cnblogs.com/dachenzi/p/6666550.html
Copyright © 2011-2022 走看看