"\^":匹配字符的开始"\$":匹配字符的结尾"[]":字符组"[^a]":如果在字符组中以^开头,就是除了a不匹配,其他的都匹配"a|b":匹配字符a或b  注意:使用或关系的时候,要把长规则放在短规则的前面"()"分组,需要对一个整体匹配规则量词约束的,就对整体匹配规则加一个括号字符串最前面加上r 就是不再对这一行代码进行转译,输入啥打印啥 (real)

".":匹配换行符以外的任意字符"\w":匹配字母数字下划线(word)"\s":匹配任意的空白字符(space)"\d":匹配任意数字(digit)"\W":匹配非字母数字下划线"\S":匹配非空白字符"\D":匹配非数字"\D":匹配非数字

"\n":匹配一个换行符"\t":匹配一个制表符"\b":匹配一个单词结尾

所有量词都必须用在正则匹配规则的后面量词只对紧挨着它的那一个正则匹配规则生效量词默认是贪婪模式,尽可能多的匹配如果量词后面加一个"?"表示启动非贪婪模式,尽可能少的匹配"*":重复零次或多次"+":重复一次或多次"?":重复零次或一次"{n}":重复n次"{n,}":重复n次或多次"{n,m}":重复n次到m次

re.findall():返回所有满足匹配条件的结果,放在列表中re.search():从前往后找,找到一个就返回,返回的是一个对象,            需要调用group()方法才能拿到结果            常用的格式:            res = re.search("e", "hello, world")            if res:                res.group()re.match():从头开始匹配,如果从头开始可以匹配上就和re.search()一样,            不然就返回None

re.search().group()和re.match().group()都能输入参数,指定获取第几个分组的值如果不指定就不单单取分组内的,而取匹配结果而re.findall()由于没有group()这种方法,所以:        res = re.findall("www.(baidu|oldboy).com", "www.oldboy.com")        print(res) ->得到的结果是:['oldboy']        如果想拿到 ['www.oldboy.com'],就需要取消分组优先        就需要 res = re.findall("www.(?:baidu|oldboy).com", "www.oldboy.com")        print(res) ->得到的结果是:['www.oldboy.com']

re.sub(): res = re.sub("\d", "H", "dgf4fg61", count=2)            将"dgf4fg61"中的数字替换成"H",替换两个re.subn(): res = re.sub("\d", "H", "dgf4fg61")            将"dgf4fg61"中的数字替换成"H"            返回一个元组,其中一个值告诉你一共替换了几次re.compile():当一条规则需要反复使用,就可以先对这条规则进行编译            obj = re.compile("\d")            res = obj.findall("dfff5ggh7hh8")            print(res)re.finditer():得到一个迭代器,循环之后每一个元素还要调用group()方法才能拿到值                res = re.finditer("\d", "djfj4fk6kkmb8")                for i in res:                    print(i.group())

转载于:https://www.cnblogs.com/QimiSun/p/9937265.html

正则表达式和re模块知识点汇总相关推荐

  1. 原生 遍历_细品原生JS从初级到高级知识点汇总(三)

    作者:火狼1 转发链接:https://juejin.im/post/5daeefc8e51d4524f007fb15 目录 细品原生JS从初级到高级知识点汇总(一) 细品原生JS从初级到高级知识点汇 ...

  2. javaSE知识点汇总

    javaSE知识点汇总 Java基础知识精华部分   写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实 ...

  3. Vue 知识点汇总(下)--附案例代码及项目地址

    文章目录 Vue 预备知识与后续知识及项目案例 一.简介 1.Vue (读音 /vjuː/,类似于 view)的简单认识 2.Vue.js安装 二.Vue知识量化 三.内容 1.Webpack 详解 ...

  4. Django知识点汇总

    Django知识点汇总 目录 一.wsgi接口 二.中间件 三.URL路由系统 四.Template模板 五.Views视图 六.Model&ORM 七.Admin相关 八.Http协议 九. ...

  5. 【Lua】Lua知识点汇总

    Lua知识点汇总 一.理解Lua的执行 二.Lua编译器 2.1 词法分析器 2.2 抽象语法树 2.3 语法分析 2.4 代码生成 三.Lua解析器 3.1 luac命令 3.2 二进制chunk格 ...

  6. mysql 事物状态有几种_MySQL知识点汇总:亿级高并发数据库运转原理大公开!

    - 点击上方"中国统计网"订阅我吧!- 做业务,要懂基本的SQL语句: 做性能优化,要懂索引,懂引擎: 做分库分表,要懂主从,懂读写分离... 数据库的使用,是开发人员的基本功,对 ...

  7. ES6知识点汇总(全)

    ES6知识点汇总(全) 近期在整理ES6相关开发文档,针对ES6新的知识点,以问答形式整理一个全面知识和问题汇总. 一.问:ES6是什么,为什么要学习它,不学习ES6会怎么样? 答: ES6是新一代的 ...

  8. 中高级前端面试知识点汇总

    1.1.什么是HTML语义化?有什么好处? 根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时让浏览器的爬虫和机器很好地解析. 为了在没有 CSS 的情 ...

  9. 【Linux】Linux知识点汇总

    Linux知识点汇总 Linux知识点汇总 一.Linux文件与目录 1.文件颜色代表的意义 2.Linux文件目录结构 3.Linux文件基本属性 4.Linux文件与目录管理 4.1 绝对路径 4 ...

最新文章

  1. mysql 查询 字段是否为空
  2. Win10下skimage的安装
  3. Hibernate---对象的三种状态
  4. 轨迹跟踪主要方法_带你入门多目标跟踪(一)领域概述
  5. 河北省计算机网络技术专接本考什么,河北计算机专接本考什么
  6. 使用 ssmtp 於 shell 透過 Gmail 寄信
  7. burp基本的用法总结
  8. 「leetcode」C++题解:15.三数之和 /3Sum 方法1:哈希法,方法2:排序+双指针,详细注释
  9. 数字图像处理实践(二)
  10. ajax 关闭弹窗并跳转到url_Python 爬虫 | Ajax数据爬取
  11. 探索Spring异步代理循环依赖失败的问题
  12. im即时通讯源码+软件+app附详细封装视频搭建教程
  13. uibot自动登陆163邮箱发送邮件
  14. 《软件方法》第1章 建模和UML
  15. edem颗粒替换_EDEM常见问题
  16. SpringMVC工作原理之四:MultipartResolver
  17. 使用deepin 20作为开发环境
  18. Springboot过滤器中注入Bean
  19. 双击打开.bat文件闪退
  20. 多文件在线压缩并下载

热门文章

  1. block之--- 基本使用
  2. 【你知道HHTP各种状态代表什么意思吗?】
  3. VC10中的C++0x特性简介
  4. android的webView的教程,Android WebView 应用界面开发教程
  5. 埃及冒险java_我的世界1.7.10亚图姆探险整合包
  6. php 变更 obj,php怎么将object转为string
  7. dice系数 交叉熵_语义分割中的损失函数
  8. java循环使用范围_Java循环流程控制语句
  9. nginx php 错误日志,PHP 错误与异常的日志记录
  10. jupyter notebook多维数组运算_Python创建二维数组的正确姿势