教你学会使用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 相关文章推荐
pandas DataFrame数据转为list的方法
Apr 11 Python
在IPython中进行Python程序执行时间的测量方法
Nov 01 Python
Pandas过滤dataframe中包含特定字符串的数据方法
Nov 07 Python
Python如何实现后端自定义认证并实现多条件登陆
Jun 22 Python
Python编写单元测试代码实例
Sep 10 Python
python math模块的基本使用教程
Jan 16 Python
Python基于爬虫实现全网搜索并下载音乐
Feb 14 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
Mar 02 Python
Django利用AJAX技术实现博文实时搜索
May 06 Python
python 提取html文本的方法
May 20 Python
新手必备Python开发环境搭建教程
May 28 Python
Python中基础数据类型 set集合知识点总结
Aug 02 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 $_SERVER详解
2009/01/16 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
2013/11/12 PHP
PHP使用MPDF类生成PDF的方法
2015/12/08 PHP
Yii2中使用join、joinwith多表关联查询
2016/06/30 PHP
PHP队列场景以及实现代码实例详解
2021/02/26 PHP
jquery 常用操作方法
2010/01/28 Javascript
jQuery 在光标定位的地方插入文字的插件
2012/05/10 Javascript
让元素在网页中可拖动示例代码
2013/08/13 Javascript
jquery带翻页动画的电子杂志代码分享
2015/08/21 Javascript
浅谈jQuery中hide和fadeOut的区别 show和fadeIn的区别
2016/08/18 Javascript
使用jQuery的toggle()方法对HTML标签进行显示、隐藏的方法(示例)
2016/09/01 Javascript
javaScript语法总结
2016/11/25 Javascript
详解JS-- 浮点数运算处理
2016/11/28 Javascript
在vue中使用防抖和节流,防止重复点击或重复上拉加载实例
2019/11/13 Javascript
Vue3新特性之在Composition API中使用CSS Modules
2020/07/13 Javascript
python实现简单ftp客户端的方法
2015/06/28 Python
Python实现把json格式转换成文本或sql文件
2015/07/10 Python
Python3使用requests发闪存的方法
2016/05/11 Python
python 动态加载的实现方法
2017/12/22 Python
python基础之包的导入和__init__.py的介绍
2018/01/08 Python
python3.6+django2.0开发一套学员管理系统
2018/03/03 Python
python得到单词模式的示例
2018/10/15 Python
python Django中models进行模糊查询的示例
2019/07/18 Python
Python如何计算语句执行时间
2019/11/22 Python
Python如何基于selenium实现自动登录博客园
2019/12/16 Python
使用Python三角函数公式计算三角形的夹角案例
2020/04/15 Python
使用Python通过oBIX协议访问Niagara数据的示例
2020/12/04 Python
6种非常炫酷的CSS3按钮边框动画特效
2016/03/16 HTML / CSS
Chantelle仙黛尔内衣美国官网:法国第一品牌内衣
2018/07/26 全球购物
消防安全汇报材料
2014/02/08 职场文书
八年级语文教学反思
2014/02/11 职场文书
护士年终个人总结
2015/02/13 职场文书
员工给公司的建议书
2019/06/24 职场文书
python 经纬度求两点距离、三点面积操作
2021/06/03 Python
Java使用httpRequest+Jsoup爬取红蓝球号码
2021/07/02 Java/Android
Python标准库pathlib操作目录和文件
2021/11/20 Python