【归纳】正则表达式及Python中的正则库
正则表达式
正则表达式30分钟入门教程
runoob正则式教程
正则表达式练习题集(附答案)
- 元字符
\b代表单词的分界处,在英文中指空格,标点符号或换行- 例子:
\bhi\b可以用来匹配hi这个单词,且不会匹配到him,china或sushi. - 注意\b并不匹配任何字符,它只匹配一个位置
- 例子:
- 元字符
.代表除了换行符以外的任意字符 - 元字符
*代表数量:它指定*前边的内容可以连续重复使用任意次以使整个表达式得到匹配- 另一个指代数量的方式是:
{n},这里的n可以填入任何数字,代表前面内容的重复次数,比如两个数字:\d{2}
- 另一个指代数量的方式是:
- 更多的元字符
- 使用分枝条件
|时,要注意各个条件的顺序,因为匹配分枝条件时,算法将会从左到右地测试每个条件,如果满足了某个分枝的话,就不会去再管其它的条件了。
一张图速记正则式

Python中的正则库(re)
- 使用match函数来进行正则匹配:
re.match(正则式, 要匹配的字符串) - 如果匹配成功,match函数将返回一个SRE_Match对象,该对象包含两个方法:
- group()方法可以输出匹配到的内容
- span()方法可以输出匹配到的内容在原字符串中的位置范围
- 使用
()可以在匹配到的内容中进一步提取想要的字符串,这些子表达式可通过group(索引)来获得 - 注意match()方法是从前往后匹配的,如果开头不一致,就得不到匹配结果
- search()方法在匹配时会扫描整个字符串,所以更适合用来做搜索
- match和search方法都可以传入第三个参数——修饰符
- 修饰符re.I:使匹配对大小写不敏感
- 修饰符re.S:使
.(通配符)匹配包括换行符在内的所有字符,这个修饰符在匹配HTML文本时非常常用
- findall()方法能匹配到符合要求的所有内容,而search()只匹配符合要求的第一个内容
- findall()的返回结果为列表
- sub()方法可以用来修改匹配内容:
re.sub('匹配内容','替换内容’,目标字符串) - compile()方法可以用来封装正则式和修饰符
【归纳】正则表达式及Python中的正则库的更多相关文章
- 正则表达式与Python中re模块的使用
正则表达式与Python中re模块的使用 最近做了点爬虫,正则表达式使用的非常多,用Python做的话会用到re模块. 本文总结一下正则表达式与re模块的基础与使用. 另外,给大家介绍一个在线测试正则 ...
- Python中的正则
regex_lst = [ ('字符组',), ('非打印字符',), ('特殊字符',), ('定位符',), ('限定符',), ('re模块',), ('分组命名',), ('或匹配',), ( ...
- js中正则表达式与Python中正则表达式的区别
今天女票让我帮她写一个js中的正则,来提取电话号码,对于正则规则来说,js与python是基本没有区别的,重点的区别是在一些函数与方法中. python中的正则提取: import re str = ...
- 利用Python中的mock库对Python代码进行模拟测试
这篇文章主要介绍了利用Python中的mock库对Python代码进行模拟测试,mock库自从Python3.3依赖成为了Python的内置库,本文也等于介绍了该库的用法,需要的朋友可以参考下 ...
- Python中使用第三方库xlrd来写入Excel文件示例
Python中使用第三方库xlrd来写入Excel文件示例 这一篇文章就来介绍下,如何来写Excel,写Excel我们需要使用第三方库xlwt,和xlrd一样,xlrd表示read xls,xlwt表 ...
- 常用正则表达式与python中的re模块
正则表达式是一种通用的字符串匹配技术,不会因为编程语言不一样而发生变化. 部分常用正则表达式规则介绍: . 匹配任意的一个字符串,除了\n * 匹配任意字符串0次或者任意次 \w 匹配字母.数字.下划 ...
- 正则表达式在python中的简单使用
正则表达式独立与编程语言,基本上所有的编程语言都实现了正则表达式的相关操作.在Python中正则表达式的表现为re模块: import re 其操作有三个方法: my_string = "h ...
- 【转】利用Python中的mock库对Python代码进行模拟测试
出处 https://www.toptal.com/python/an-introduction-to-mocking-in-python http://www.oschina.net/transla ...
- 正则表达式与python中re模块
一个网站,正则表达式入门的,很好 http://www.jb51.net/tools/zhengze.html 下面这个包含对python中re的介绍,也是很不错的http://www.w3cscho ...
随机推荐
- 如何在本地搭建DVWA环境
如何在本地搭建DVWA环境 1.工具下载: (1)phpStudy: http://phpstudy.php.cn/download.html (2)DVWA:http://www.dvwa.c ...
- 苹果手机连接Wifi认证机制
Wifi状态保持方法和nas设备 https://patents.google.com/patent/CN106793171A/zh 基于ios终端的离线wifi热点认证方法和认证系统 https:/ ...
- Oracle 执行计划(三)-------表连接方式
SQL FOR TESTING: create table qcb_student_test( student_id number, student_name varchar2(20), studen ...
- EChars学习之路1
引入echarts.min.js或者使用CDN https://cdn.bootcss.com/echarts/4.2.1-rc1/echarts.min.js 为ECharts准备一个具备大小(宽高 ...
- 控制结构(8): 线性化(linearization)
// 上一篇:管道(pipeline) // 下一篇:程序计数器(PC) "编程语言不过是一个工具,什么语言都一样","编程语言能改变人的思维,不同的语言会带给你不同的思 ...
- 【学习总结】GirlsInAI ML-diary day-12-for循环
[学习总结]GirlsInAI ML-diary 总 原博github链接-day12 认识for循环执行 ps: range()函数 python range() 函数可创建一个整数列表,一般用在 ...
- Linux命令(五)创建文件或修改文件时间 touch
Linux中 touch 命令可以改变文档或目录时间, 包括存取时间或更改时间, 也可以用于创建新文件. 命令格式: touch [选项] [参数] 选项: -a 只更改文件的读取时间. -m ...
- 删除 node_modules文件夹cmd指令
方法一: npm install rimraf -g rimraf node_modules 方法二: rmdir /s/q your_app_dir 方法三: rm -f /node_modules
- 第二章· Redis管理实战
数据类型 管理实战 数据类型 String: 字符串类型 Hash: 哈希类型 List: 列表类型 Set: 集合类型 Sorted set: 顺序集合类型 管理实战 通用操作
- springboot 出现 Connection refused: connect
总结网上的方法再结合我自己的方法 1. springCloud com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectEx ...