教你学会使用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批量导出导入MySQL用户的方法
Nov 15 Python
Python中的index()方法使用教程
May 18 Python
python开发之IDEL(Python GUI)的使用方法图文详解
Nov 12 Python
基于python yield机制的异步操作同步化编程模型
Mar 18 Python
详解django中自定义标签和过滤器
Jul 03 Python
详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)
Aug 02 Python
Python 3 判断2个字典相同
Aug 06 Python
把vgg-face.mat权重迁移到pytorch模型示例
Dec 27 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
Mar 30 Python
Python基于jieba, wordcloud库生成中文词云
May 13 Python
Django 构建模板form表单的两种方法
Jun 14 Python
python如何建立全零数组
Jul 19 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 简单日历实现代码
2009/10/28 PHP
ThinkPHP分组下自定义标签库实例
2014/11/01 PHP
既简单又安全的PHP验证码 附调用方法
2016/06/02 PHP
dojo 之基础篇
2007/03/24 Javascript
JS解析XML的实现代码
2009/11/12 Javascript
IE6/7/8/9不支持exec的简写方式
2011/05/25 Javascript
JQuery模板插件 jquery.tmpl 动态ajax扩展
2011/11/10 Javascript
微信小程序 LOL 英雄介绍开发实例
2016/09/30 Javascript
有趣的bootstrap走动进度条
2016/12/01 Javascript
Vue概念及常见命令介绍(1)
2016/12/08 Javascript
Javascript中字符串和数字的操作方法整理
2017/01/22 Javascript
JavaScrpt的面向对象全面解析
2017/05/09 Javascript
深入理解Nodejs Global 模块
2017/06/03 NodeJs
js实现轮播图的两种方式(构造函数、面向对象)
2017/09/30 Javascript
Angular 4根据组件名称动态创建出组件的方法教程
2017/11/01 Javascript
Angular实现的进度条功能示例
2018/02/18 Javascript
angularJs 表格添加删除修改查询方法
2018/02/27 Javascript
vue-cli axios请求方式及跨域处理问题
2018/03/28 Javascript
[01:09:16]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第一场 1月25日
2021/03/11 DOTA
python自定义异常实例详解
2017/07/11 Python
Python解析json时提示“string indices must be integers”问题解决方法
2019/07/31 Python
Python爬取微信小程序Charles实现过程图解
2020/09/29 Python
python使用ctypes库调用DLL动态链接库
2020/10/22 Python
Python-openpyxl表格读取写入的案例详解
2020/11/02 Python
Python实现PS滤镜中的USM锐化效果
2020/12/04 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
2021/02/22 Python
一款基于css3和jquery实现的动画显示弹出层按钮教程
2015/01/04 HTML / CSS
PHP面试题及答案一
2012/06/18 面试题
自荐信的两点禁忌
2013/10/30 职场文书
办理暂住证介绍信
2014/01/11 职场文书
社会学专业求职信
2014/07/17 职场文书
公务员党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
法定代表人证明书
2014/11/28 职场文书
岗位聘任报告
2015/03/02 职场文书
2015年小学生自我评价范文
2015/03/03 职场文书
Go语言实现Snowflake雪花算法
2021/06/08 Golang