教你学会使用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判断、获取一张图片主色调的2个实例
Apr 10 Python
在Python中利用Pandas库处理大数据的简单介绍
Apr 07 Python
Python首次安装后运行报错(0xc000007b)的解决方法
Oct 18 Python
请不要重复犯我在学习Python和Linux系统上的错误
Dec 12 Python
python操作redis方法总结
Jun 06 Python
win7+Python3.5下scrapy的安装方法
Jul 31 Python
命令行运行Python脚本时传入参数的三种方式详解
Oct 11 Python
pytorch forward两个参数实例
Jan 17 Python
Python Sphinx使用实例及问题解决
Jan 17 Python
浅谈Pytorch torch.optim优化器个性化的使用
Feb 20 Python
使用Django的JsonResponse返回数据的实现
Jan 15 Python
python读取并查看npz/npy文件数据以及数据显示方法
Apr 14 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
理解PHP5中static和const关键字的区别
2007/03/19 PHP
PHP中冒号、endif、endwhile、endfor使用介绍
2010/04/28 PHP
php生成图形验证码几种方法小结
2013/08/15 PHP
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
2014/04/01 PHP
枚举JavaScript对象的函数
2006/12/22 Javascript
jQuery中:password选择器用法实例
2015/01/03 Javascript
Angular 理解module和injector,即依赖注入
2016/09/07 Javascript
JS中作用域和变量提升(hoisting)的深入理解
2016/10/31 Javascript
JS判断是否为JSON对象及是否存在某字段的方法(推荐)
2016/11/29 Javascript
jQuery模拟下拉框选择对应菜单的内容
2017/03/07 Javascript
详解angularJS动态生成的页面中ng-click无效解决办法
2017/06/19 Javascript
浅谈Vuex@2.3.0 中的 state 支持函数申明
2017/11/22 Javascript
基于casperjs和resemble.js实现一个像素对比服务详解
2018/01/10 Javascript
webpack-dev-server自动更新页面方法
2018/02/22 Javascript
Vue开发之watch监听数组、对象、变量操作分析
2019/04/25 Javascript
Vue路由守卫之路由独享守卫
2019/09/25 Javascript
vue element-ui读取pdf文件的方法
2019/11/26 Javascript
[01:38]完美世界高校联赛决赛花絮
2018/12/02 DOTA
Python完全新手教程
2007/02/08 Python
django上传图片并生成缩略图方法示例
2017/12/11 Python
Python访问MongoDB,并且转换成Dataframe的方法
2018/10/15 Python
Python命名空间的本质和加载顺序
2018/12/17 Python
python 去除二维数组/二维列表中的重复行方法
2019/01/23 Python
pandas通过字典生成dataframe的方法步骤
2019/07/23 Python
基于Tensorflow一维卷积用法详解
2020/05/22 Python
面向新手解析python Beautiful Soup基本用法
2020/07/11 Python
python实现跨年表白神器--你值得拥有
2021/01/04 Python
英国旅游额外服务市场领导者:Holiday Extras(机场停车场、酒店、接送等)
2017/10/07 全球购物
彪马香港官方网上商店:PUMA香港
2020/12/06 全球购物
高中毕业生个人自我鉴定
2013/11/24 职场文书
群众路线个人对照检查材料
2014/09/23 职场文书
2015年员工试用期工作总结
2014/12/12 职场文书
小平您好观后感
2015/06/09 职场文书
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
2021/04/17 Vue.js
python如何做代码性能分析
2021/04/26 Python
pandas中DataFrame重置索引的几种方法
2021/05/24 Python