教你学会使用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 encode和decode的妙用
Sep 02 Python
使用Python脚本操作MongoDB的教程
Apr 16 Python
详解Python当中的字符串和编码
Apr 25 Python
python实现简单ftp客户端的方法
Jun 28 Python
python2.7 json 转换日期的处理的示例
Mar 07 Python
Ubuntu下使用Python实现游戏制作中的切分图片功能
Mar 30 Python
Python常用模块os.path之文件及路径操作方法
Dec 03 Python
解决pycharm最左侧Tool Buttons显示不全的问题
Dec 17 Python
TensorFlow2.1.0最新版本安装详细教程
Apr 08 Python
pandas 强制类型转换 df.astype实例
Apr 09 Python
OpenCV+python实现膨胀和腐蚀的示例
Dec 21 Python
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
Jun 23 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开发框架总结收藏
2008/04/24 PHP
php建立Ftp连接的方法
2015/03/07 PHP
php删除数组中重复元素的方法
2015/12/22 PHP
thinkPHP自定义类实现方法详解
2016/11/30 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
来自国外的页面JavaScript文件优化
2010/12/08 Javascript
IE6/7 and IE8/9/10(IE7模式)依次隐藏具有absolute或relative的父元素和子元素后再显示父元素
2011/07/31 Javascript
高性能Javascript笔记 数据的存储与访问性能优化
2012/08/02 Javascript
JS实现div内部的文字或图片自动循环滚动代码
2013/04/19 Javascript
2014 HTML5/CSS3热门动画特效TOP10
2014/12/07 Javascript
jQuery实现带有上下控制按钮的简单多行滚屏效果代码
2015/09/04 Javascript
jQuery 判断是否包含在数组中Array[]的方法
2016/08/03 Javascript
微信小程序实现留言板
2018/10/31 Javascript
如何自动化部署项目?折腾服务器之旅~
2019/04/16 Javascript
jQuery实现每日秒杀商品倒计时功能
2019/09/06 jQuery
JS实现动态星空背景效果
2019/11/01 Javascript
在Python中使用SQLite的简单教程
2015/04/29 Python
Python实现控制台进度条功能
2016/01/04 Python
利用Python为iOS10生成图标和截屏
2016/09/24 Python
详解Python下Flask-ApScheduler快速指南
2018/11/04 Python
pycharm创建一个python包方法图解
2019/04/10 Python
python中列表的切片与修改知识点总结
2019/07/23 Python
使用Django搭建一个基金模拟交易系统教程
2019/11/18 Python
Python datetime 如何处理时区信息
2020/09/02 Python
通过Django Admin+HttpRunner1.5.6实现简易接口测试平台
2020/11/11 Python
前后端结合实现amazeUI分页效果
2020/08/21 HTML / CSS
ECCO爱步官方旗舰店:丹麦鞋履品牌
2018/01/02 全球购物
Currentbody德国站:健康与美容技术专家
2020/04/05 全球购物
德国BA保镖药房中文网:Bodyguard Apotheke
2021/03/09 全球购物
小学生秋游活动方案
2014/02/23 职场文书
劲霸男装广告词
2014/03/21 职场文书
自我鉴定总结
2014/03/24 职场文书
村党支部书记个人对照材料汇报
2014/10/26 职场文书
刑事法律意见书
2015/06/04 职场文书
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
2021/04/17 Vue.js
SQL解决未能删除约束问题drop constraint
2022/05/30 SQL Server