教你学会使用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完成FizzBuzzWhizz问题(拉勾网面试题)示例
May 05 Python
python求列表交集的方法汇总
Nov 10 Python
在Django的URLconf中进行函数导入的方法
Jul 18 Python
python机器学习库常用汇总
Nov 15 Python
利用python库在局域网内传输文件的方法
Jun 04 Python
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
Sep 04 Python
python利用pandas将excel文件转换为txt文件的方法
Oct 23 Python
python实现创建新列表和新字典,并使元素及键值对全部变成小写
Jan 15 Python
对Django 中request.get和request.post的区别详解
Aug 12 Python
pyinstaller打包opencv和numpy程序运行错误解决
Aug 16 Python
tensorflow模型文件(ckpt)转pb文件的方法(不知道输出节点名)
Apr 22 Python
学点简单的Django之第一个Django程序的实现
Feb 24 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为什么选mysql作为数据库? Mysql 创建用户方法
2007/07/02 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
2016/05/23 PHP
form中限制文本字节数js代码
2007/06/10 Javascript
js 替换
2008/02/19 Javascript
基于node.js的快速开发透明代理
2010/12/25 Javascript
js去字符串前后空格5种实现方法及比较
2013/04/03 Javascript
JavaScript中的运算符种类及其规则介绍
2013/09/26 Javascript
jquery的ajax简单结构示例代码
2014/02/17 Javascript
javascript实现简单的分页特效
2015/08/12 Javascript
javascript实现五星评分功能
2015/11/10 Javascript
el表达式 写入bootstrap表格数据页面的实例代码
2017/01/11 Javascript
基于JavaScript实现评论框展开和隐藏功能
2017/08/25 Javascript
vue2.0 中使用transition实现动画效果使用心得
2018/08/13 Javascript
NodeJS模块与ES6模块系统语法及注意点详解
2019/01/04 NodeJs
微信小程序结合Storage实现搜索历史效果
2019/05/18 Javascript
vue请求服务器数据后绑定不上的解决方法
2019/10/30 Javascript
JavaScript数值类型知识汇总
2019/11/17 Javascript
webpack proxy 使用(代理的使用)
2020/01/10 Javascript
Vue 封装防刷新考试倒计时组件的实现
2020/06/05 Javascript
vue解决跨域问题(推荐)
2020/11/10 Javascript
[03:44]2015国际邀请赛选手档案—Cloud9.NoTail
2015/07/28 DOTA
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
[01:01:29]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第一场
2018/04/05 DOTA
pycharm安装图文教程
2017/05/02 Python
Python中%是什么意思?python中百分号如何使用?
2018/03/20 Python
使用Python实现跳帧截取视频帧
2019/05/31 Python
pandas.DataFrame.drop_duplicates 用法介绍
2020/07/06 Python
HTML5新增的标签和属性归纳总结
2018/05/02 HTML / CSS
简述DNS进行域名解析的过程
2013/12/02 面试题
函授毕业自我鉴定
2013/12/19 职场文书
《鞋匠的儿子》教学反思
2014/03/02 职场文书
大学生学习2014年全国两会心得体会
2014/03/12 职场文书
中介业务员岗位职责
2014/04/09 职场文书
复试通知单模板
2015/04/24 职场文书
党员公开承诺书(2016最新版)
2016/03/24 职场文书
vue中利用mqtt服务端实现即时通讯的步骤记录
2021/07/01 Vue.js