教你学会使用Python正则表达式


Posted in Python onSeptember 07, 2017

教你学会使用Python正则表达式

今天写爬虫偶然想到了初学正则表达式时候,看过一篇文章非常不错。检索一下还真的找到了。

re模块

教你学会使用Python正则表达式

re.search

经常用match = re.search(pat, str)的形式。因为有可能匹配不到,所以re.search()后面一般用if statement。

教你学会使用Python正则表达式

re.match

re.match和re.search很相似,只是re.match是从字符串的开头开始匹配。

教你学会使用Python正则表达式

常用正则字符意义 a, X, 9,等字符匹配自己, 元字符不匹配自己,因为有特殊意义,比如 . ^ $ * + ? { }[ ] \ | ( ) . 英文句号,匹配任意字符,不包含'\n' \w 匹配'word'字符,[a-zA-Z0-9] \W 匹配非'word'字符 \b 匹配'word'和'non-word'之间边界 \s 匹配单个whitespace字符,space, newline, return, tab, form [\n\r\t\f] \S 匹配non-whitespace字符 \t, \n, \r 匹配tab, newline, return \d 匹配数字[0-9] ^ 匹配字符串开头 $ 匹配字符串结尾 重复

‘+' 一或多次, ‘*' 零或多次, ‘?' 零或一次

方括号[]

教你学会使用Python正则表达式

[]类似于or

Square brackets can be used to indicate a set of chars, so [abc] matches 'a' or 'b' or 'c'.

教你学会使用Python正则表达式

Group Extraction圆括号()

有时候需要提取匹配字符的一部分,比如刚才的邮箱,我们可能需要其中的username和hostname,这时候可以用()分别把username和hostname包起来,就像r'([\w.-]+)@([\w.-]+)',如果匹配成功,那么pattern不改变,只是可以用match.group(1)和match.group(2)来username和hostname,match.group()结果不变。

教你学会使用Python正则表达式

findall and groups

()和findall()结合,如果包括一或多个group,就返回a list of tuples。

教你学会使用Python正则表达式

给re.search加^之后是一样的。

re.sub

re.sub(pat, replacement, str)在str里寻找和pattern匹配的字符串,然后用replacement替换。replacement可以包含\1或者\2来代替相应的group,然后实现局部替换。 教你学会使用Python正则表达式

Python 相关文章推荐
Python中List.index()方法的使用教程
May 20 Python
Python科学计算之Pandas详解
Jan 15 Python
快速入门python学习笔记
Dec 06 Python
python调用opencv实现猫脸检测功能
Jan 15 Python
浅析python的Lambda表达式
Feb 27 Python
如何在Django配置文件里配置session链接
Aug 06 Python
python3 深浅copy对比详解
Aug 12 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
Dec 25 Python
Python获取对象属性的几种方式小结
Mar 12 Python
Pytorch 使用CNN图像分类的实现
Jun 16 Python
Python3使用 GitLab API 进行批量合并分支
Oct 15 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
Dec 03 Python
Python基础学习之常见的内建函数整理
Sep 06 #Python
Python升级导致yum、pip报错的解决方法
Sep 06 #Python
Python实现求两个csv文件交集的方法
Sep 06 #Python
Python中的is和==比较两个对象的两种方法
Sep 06 #Python
Python中表示字符串的三种方法
Sep 06 #Python
通过Python实现自动填写调查问卷
Sep 06 #Python
Python实现在线暴力破解邮箱账号密码功能示例【测试可用】
Sep 06 #Python
You might like
php可应用于面包屑导航的递归寻找家谱树实现方法
2015/02/02 PHP
PHP实现过滤各种HTML标签
2015/05/17 PHP
学习php设计模式 php实现访问者模式(Visitor)
2015/12/07 PHP
基于PHP后台的Android新闻浏览客户端
2016/05/23 PHP
golang与PHP输出excel示例
2016/07/22 PHP
jQuery Ajax提交表单查询获得数据实例代码
2012/09/19 Javascript
javascript重写alert方法的实例代码
2013/03/29 Javascript
document.getElementById获取控件对象为空的解决方法
2013/11/20 Javascript
jQuery选择器源码解读(七):elementMatcher函数
2015/03/31 Javascript
jQuery文件上传控件 Uploadify 详解
2016/06/20 Javascript
基于jQuery实现弹出可关闭遮罩提示框实例代码
2016/07/18 Javascript
jquery根据一个值来选中select下的option实例代码
2016/08/29 Javascript
详解Vue自定义过滤器的实现
2017/01/10 Javascript
微信小程序实现缓存根据不同的id来进行设置和读取缓存
2017/06/12 Javascript
jQuery实现html table行Tr的复制、删除、计算功能
2017/07/10 jQuery
vue-cli 使用axios的操作方法及整合axios的多种方法
2018/09/12 Javascript
JS异步执行结果获取的3种解决方式
2019/02/19 Javascript
vue请求本地自己编写的json文件的方法
2019/04/25 Javascript
基于axios 的responseType类型的设置方法
2019/10/29 Javascript
JavaScript实现随机点名程序
2020/03/25 Javascript
基于element-ui封装表单金额输入框的方法示例
2021/01/06 Javascript
[07:06]2018DOTA2国际邀请赛寻真——卫冕冠军Team Liquid
2018/08/10 DOTA
[34:41]夜魇凡尔赛茶话会 第二期02:你画我猜
2021/03/11 DOTA
Python实现CET查分的方法
2015/03/10 Python
python实现颜色rgb和hex相互转换的函数
2015/03/19 Python
详解Python中最难理解的点-装饰器
2017/04/03 Python
Python遍历numpy数组的实例
2018/04/04 Python
自学python用什么系统好
2020/06/23 Python
css3实现信纸/同学录效果的示例代码
2018/12/11 HTML / CSS
俄罗斯隐形眼镜和眼镜在线商店:Cronos
2020/06/02 全球购物
syb养殖创业计划书
2014/01/09 职场文书
植树节活动总结
2014/04/30 职场文书
雨花台导游词
2015/02/06 职场文书
2015世界地球日活动总结
2015/02/09 职场文书
师范生小学见习总结
2015/06/23 职场文书
Windows10安装Apache2.4的方法步骤
2022/06/25 Servers