1. 正则的概念
  2. findall        match        search  方法
  3. 元字符的用法和作用

正则表达式概念

正则表达式是对字符串操作的一种逻辑公式,就是对字符串的一种过滤

可以判断是否匹配给定的格式

可以按指定格式从字符串中提取信息

re模块

findall方法

在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表

match方法

从字符串的起始位置匹配

匹配成功,返回的是一个匹配对象(这个对象包含了我们匹配的信息),如果不是起始位置匹配成功的话,match()返回的是空

只能匹配到一个      group()  提取匹配到的内容    span()  提取匹配到的字符下标

search方法

扫描整个字符串,匹配成功,返回的是一个匹配对象(这个对象包含了我们匹配的信息)

search也只能匹配到一个,找到符合规则的就返回,不会一直往后找

re.match 与 re.search的区别

re.match:从字符串的开始位置找,如果字符串开始不符合正则表达式,则匹配失败,返回空

re.search:匹配整个字符串,如果一直找不到则返回空

sub方法

把匹配到的所有字符串都替换,没找到就不进行操作,返回原字符串

有一个参数为re.S,它表示 “.” 的作用扩展到整个字符串,包括“\n”

元字符

单字符匹配

匹配任意1个字符(除了\n )           [ ] 匹配[ ]中列举的字符

\d 匹配数字,即0-9             \D 匹配非数字,即不是数字

\s 匹配空白,即空格,tab键          \S 匹配非空白

\w 匹配单词字符,即a-z、A-Z、 0-9、_    \W 匹配非单词字符

代表数量的元字符

*                匹配前一个字符出现0次或者无限次,即可有可无  

             匹配前一一个字符出现1次或者无限次,即至少有1次  

?               匹配前一个字符出现1次或者0次,即要么有1次,要么没有

{m}              匹配前一个字符出现m次

{m,}             匹配前一个字符至少出现m次

{m,n}           匹配前一个字符出现从m到n次

表示边界的元字符

^ 匹配字符串开头

$ 匹配字符串结尾

\b 匹配一个单词的边界

\B 匹配非单词边界

分组匹配

|     匹配左右任意一个表达式

(ab)  将括号中字符作为一个分组

贪婪与非贪婪

正则默认都是用贪婪模式去匹配数据的,就是尽可能多的匹配符合要求的数据

在非贪婪模式下,始终找最短匹配

加个  ?  就是 非贪婪模式

最新文章

  1. 第三课:sea.js模块加载原理
  2. C++ Generate Rand Number Array by "srand()" 生成随机数
  3. iOS 键盘隐藏
  4. SC-控制Windows服务的命令
  5. Codeforces Round #339 (Div. 2) B. Gena's Code 水题
  6. windows同时安装两个jdk
  7. 线形,柱形,条形数据表(百度Echart插件)
  8. DragSortListView学习总结
  9. C## 输出Hello world
  10. ASP.NET版本的Kindeditor插件的使用
  11. 【十一年】注入框架RoboGuice采用:(Your First Injection into a Custom View class)
  12. Music Tags 隐私政策
  13. 推荐一款有趣的APP-种子习惯
  14. 使用Myeclipse10.0自动生成搭建SSH框架(数据库表自动反向转换成Hibernate实体)实现用户登陆
  15. Linux基础系统优化及常用命令
  16. chocolatey使用
  17. Genymotion下载及安装
  18. 【jQuery】(4)---jQuery常用事件
  19. 点击select下拉框获取option的属性值
  20. webpack 中,module、chunk、bundle 的区别(待补充)

热门文章

  1. jQuery从零开始(一)
  2. OpenCV:图像的按位运算
  3. 【转载】XSS攻击和sql注入
  4. 查看Maven版本
  5. WPF 精修篇 样式继承
  6. js正则高级函数(replace,matchAll用法),实现正则替换(实测很有效)
  7. 19-视图集ViewSet和路由Routers
  8. 拎壶学python3-----(1)输出与字符转换
  9. 前端框架Easyui学习积累
  10. 图解隐马尔可夫模型(HMM)