教你学会使用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升级提示Tkinter模块找不到的解决方法
Aug 22 Python
用Python3创建httpServer的简单方法
Jun 04 Python
在Python中使用gRPC的方法示例
Aug 08 Python
对python打乱数据集中X,y标签对的方法详解
Dec 14 Python
Python在图片中插入大量文字并且自动换行
Jan 02 Python
python字典一键多值实例代码分享
Jun 14 Python
python实现复制文件到指定目录
Oct 16 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
Feb 18 Python
浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点
Jun 08 Python
Tensorflow中k.gradients()和tf.stop_gradient()用法说明
Jun 10 Python
tensorflow使用CNN分析mnist手写体数字数据集
Jun 17 Python
python 实现超级玛丽游戏
Nov 25 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
一个SQL管理员的web接口
2006/10/09 PHP
php中模拟POST传递数据的两种方法分享
2011/09/16 PHP
基于flush()不能按顺序输出时的解决办法
2013/06/29 PHP
浅析php中如何在有限的内存中读取大文件
2013/07/02 PHP
使用php语句将数据库*.sql文件导入数据库
2014/05/05 PHP
图文介绍PHP添加Redis模块及连接
2015/07/28 PHP
PHP设计模式之策略模式原理与用法实例分析
2019/04/04 PHP
Laravel-添加后台模板AdminLte的实现方法
2019/10/08 PHP
PhpStorm2020.1 安装 debug - Postman 调用的详细教程
2020/08/17 PHP
关于Jquery中的事件绑定总结
2016/10/26 Javascript
基于JS实现弹出一个隐藏的div窗口body页面变成灰色并且不可被编辑
2016/12/14 Javascript
深入理解js中的加载事件
2017/02/08 Javascript
iscroll动态加载数据完美解决方法
2017/07/18 Javascript
使用cookie绕过验证码登录的实现代码
2017/10/12 Javascript
微信小程序中使用Async-await方法异步请求变为同步请求方法
2019/03/28 Javascript
[01:10:02]IG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python中的__init__ 、__new__、__call__小结
2014/04/25 Python
Python中多线程thread与threading的实现方法
2014/08/18 Python
Python中pymysql 模块的使用详解
2019/08/12 Python
python使用itchat模块给心爱的人每天发天气预报
2019/11/25 Python
带你彻底搞懂python操作mysql数据库(cursor游标讲解)
2020/01/06 Python
Python OpenCV读取显示视频的方法示例
2020/02/20 Python
Django数据结果集序列化并展示实现过程
2020/04/22 Python
Django REST Framework 分页(Pagination)详解
2020/11/30 Python
Jmeter调用Python脚本实现参数互相传递的实现
2021/01/22 Python
用HTML5实现手机摇一摇的功能的教程
2012/10/30 HTML / CSS
中国最大隐形眼镜网上商城:视客眼镜网
2016/10/30 全球购物
压铸汽车模型收藏家:Diecastmodelswholesale.com
2016/12/21 全球购物
求职信内容考虑哪几点
2013/10/05 职场文书
环境工程大学生自荐信
2013/10/21 职场文书
配件采购员岗位职责
2013/12/03 职场文书
乐山大佛导游词
2015/02/02 职场文书
数学教师求职信范文
2015/03/20 职场文书
教师培训简讯
2015/07/20 职场文书
使用qt quick-ListView仿微信好友列表和聊天列表的示例代码
2021/06/13 Python
python_tkinter弹出对话框创建
2022/03/20 Python