教你学会使用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中关于时间和日期函数的常用计算总结(time和datatime)
Mar 08 Python
Python中使用hashlib模块处理算法的教程
Apr 28 Python
Python批量修改文本文件内容的方法
Apr 29 Python
python 根据正则表达式提取指定的内容实例详解
Dec 04 Python
python读取excel表格生成erlang数据
Aug 26 Python
Python实现的knn算法示例
Jun 14 Python
利用Python读取txt文档的方法讲解
Jun 23 Python
python将字符串以utf-8格式保存在txt文件中的方法
Oct 30 Python
pandas dataframe的合并实现(append, merge, concat)
Jun 24 Python
用Python实现最速下降法求极值的方法
Jul 10 Python
Python matplotlib画图时图例说明(legend)放到图像外侧详解
May 16 Python
简单了解Python多态与属性运行原理
Jun 15 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/04/14 PHP
ECSHOP在PHP5.5及高版本上报错的解决方法
2015/08/31 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
laravel自定义分页效果
2017/07/23 PHP
php+js实现裁剪任意形状图片
2018/10/31 PHP
jquery pagination插件实现无刷新分页代码
2009/10/13 Javascript
javascript实现的弹出层背景置灰-模拟(easyui dialog)
2013/12/27 Javascript
ext中store.load跟store.reload的区别示例介绍
2014/06/17 Javascript
jquery实现图片上传前本地预览功能
2016/05/10 Javascript
如何在JS中实现相互转换XML和JSON
2016/07/19 Javascript
解析jQueryEasyUI的使用
2016/11/22 Javascript
Jquery循环截取字符串的方法(多出的字符串处理成"...")
2016/11/28 Javascript
nodejs连接mongodb数据库实现增删改查
2016/12/01 NodeJs
Angular2学习笔记——详解NgModule模块
2016/12/02 Javascript
js实现常见的工具条效果
2017/03/02 Javascript
jQuery插件HighCharts绘制2D饼图效果示例【附demo源码下载】
2017/03/21 jQuery
JS实现验证码倒计时的注册页面
2018/01/02 Javascript
实例讲解JavaScript预编译流程
2019/01/24 Javascript
node静态服务器实现静态读取文件或文件夹
2019/12/03 Javascript
Python中的is和==比较两个对象的两种方法
2017/09/06 Python
numpy的文件存储.npy .npz 文件详解
2018/07/09 Python
python实现吃苹果小游戏
2020/03/21 Python
Python 解决相对路径问题:"No such file or directory"
2020/06/05 Python
openCV提取图像中的矩形区域
2020/07/21 Python
利用python清除移动硬盘中的临时文件
2020/10/28 Python
科颜氏英国官网:Kiehl’s英国
2019/11/20 全球购物
JAVA的事件委托机制和垃圾回收机制
2014/09/07 面试题
新员工培训个人的自我评价
2013/10/09 职场文书
高三毕业典礼主持词
2014/03/27 职场文书
私营公司诉讼代理委托书范本
2014/09/13 职场文书
年会邀请函范文
2015/01/30 职场文书
宾馆卫生管理制度
2015/08/06 职场文书
小学四年级班主任工作经验交流材料
2015/11/02 职场文书
幼儿教师远程研修感悟
2015/11/18 职场文书
创业计划书之家教中心
2019/09/25 职场文书
用position:sticky完美解决小程序吸顶问题的实现方法
2021/04/24 HTML / CSS