【归纳】正则表达式及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 ...
随机推荐
- POJ3686 The Windy's
嘟嘟嘟 刚做费用流,思路完全不对呀-- 应该这么想(应该说敢这么想):这道题的关键在于怎么体现这个玩具是第几个加工的,只有这才能求出他的加工时间(因为加工时间包括等待时间). 但等待时间不好求,因此要 ...
- asp.net webapi中helppage
今天研究了下webapi,发现还有自动生成接口说明文档提供测试的功能 参考:https://docs.microsoft.com/en-us/aspnet/web-api/overview/getti ...
- jquery.filter() 实现元素前3个显示,其余的隐藏
<head> <meta charset="UTF-8"> <title></title> <style> li { ...
- ABP大型项目实战(2) - 调试与排错 - 日志 - 查看审计日志
这是<ABP大型项目实战>系列文章的一篇. 项目发布到生产环境后难免会有错误. 那么如何进行调试和排错呢? 我看到俱乐部里有人是直接登陆生产服务器把数据库下载到开发机器进行调试排错 ...
- Emit动态代理.NetCore迁移之旅
[前言] 前面我们介绍了Aop 从静态代理到动态代理:https://www.cnblogs.com/7tiny/p/9657451.html 我们在.NetFramework平台下使用微软提供的Em ...
- Socket之listen() receive()
socket.listen([backlog]) 相比listen方法,它俩就好理解多了,一个是Client用于连接Server的方法,一个是Server用于接收Client的连接申请的方法. 但事 ...
- 根据json生成c#实体类
vs 编辑->选择性粘贴->将json粘贴为类
- [转帖]Sqlcmd使用详解
Sqlcmd使用详解 2018年09月17日 13:36:39 吥輕誩放棄 阅读数:3053 版权声明:版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.n ...
- vue-cli的跨域配置(自己总结)
- 通过注解配置Bean
之前说的三种配置方式,都是使用XML配置,现在我们说说使用注解配置Bean. 这部分内容主要分为两个部分:使用注解配置Bean,使用注解配置Bean属性. 在classpath中扫描组件 组件扫描:S ...