Python常用正则表达式符号浅析


Posted in Python onAugust 13, 2014

对Python中正则表达式的理解,主要就是对符号的理解,本文即对Python中常用的正则表达式符号进行简析。其主要的符号有:

.
默认匹配一个字符,不包含换行符,如果设置DOTALL则匹配换行符

^
匹配行首

$
匹配行尾

*
匹配0个或者多个重复


匹配一个或者多个重复


匹配一个或者零个重复

*?,+?,??
按照非贪婪模式匹配

{m},{m,n},{m,n}?
分别匹配m个重复,m至n个重复,m至n个重复按照非贪婪模式

\
转义

[]
[abc],[a-z][^a-z]
|
或者匹配 'a|b'
(...)
匹配组

(?iLmsux)

(?:...) (?P<name>...)
>>> re.match('(?P<name>abc){2}','abcabc').groupdict()
{'name': 'abc'}
(?P=name)
>>> re.match(r'(?P<name>abc)----(?P=name)','abc----abc').group()
'abc----abc'
(?#...) #后面的内容为注释
(?=...)

匹配的字符串后面的内容需要匹配

>>> re.match(r'phone(?=\d{3})','phone123').group()
'phone'#

(?!...)

匹配的字符后面内容不能匹配

>>> re.match(r'phone(?!\d{3})','phoneabc123').group()
'phone'
(?<=...)

匹配的字符串前面需要匹配

(?<!...) 匹配的字符前面不能匹配

(?(id/name)yes-pattern|no-pattern)
\number
\A 匹配字符串的开头
\b 匹配单词边界

\B
\b的反义

\d 表示[0-9]
\D表示 [^0-9]
\s表示 [ \t\r\n\f\v]
\S 为非空白字符
\w等价于 [a-zA-Z0-9]
\W \w的反义

\Z 匹配字符串的结束

Python 相关文章推荐
Python字典实现简单的三级菜单(实例讲解)
Jul 31 Python
Python多线程爬虫实战_爬取糗事百科段子的实例
Dec 15 Python
python初学之用户登录的实现过程(实例讲解)
Dec 23 Python
python smtplib模块自动收发邮件功能(二)
May 22 Python
python实现决策树分类
Aug 30 Python
对python3新增的byte类型详解
Dec 04 Python
浅谈Python采集网页时正则表达式匹配换行符的问题
Dec 20 Python
Python中GeoJson和bokeh-1的使用讲解
Jan 03 Python
如何获取Python简单for循环索引
Nov 21 Python
Python 读取xml数据,cv2裁剪图片实例
Mar 10 Python
python 三边测量定位的实现代码
Apr 22 Python
python的html标准库
Apr 29 Python
wxpython中利用线程防止假死的实现方法
Aug 11 #Python
将图片文件嵌入到wxpython代码中的实现方法
Aug 11 #Python
Python 执行字符串表达式函数(eval exec execfile)
Aug 11 #Python
Python def函数的定义、使用及参数传递实现代码
Aug 10 #Python
Python-基础-入门 简介
Aug 09 #Python
Python入门及进阶笔记 Python 内置函数小结
Aug 09 #Python
Python正则表达式的使用范例详解
Aug 08 #Python
You might like
屏蔽浏览器缓存另类方法
2006/10/09 PHP
PHP setcookie设置Cookie用法(及设置无效的问题)
2011/07/13 PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
2012/01/10 PHP
JavaScript 高级篇之DOM文档,简单封装及调用、动态添加、删除样式(六)
2012/04/07 Javascript
js实现类似菜单风格的TAB选项卡效果代码
2015/08/28 Javascript
深入理解JavaScript定时机制
2016/10/27 Javascript
BootStrap实现文件上传并带有进度条效果
2017/09/11 Javascript
微信小程序图片选择区域裁剪实现方法
2017/12/02 Javascript
js实现左右两侧浮动广告
2018/07/09 Javascript
微信小程序获取用户openid的实现
2018/12/24 Javascript
JavaScript学习笔记之数组基本操作示例
2019/01/09 Javascript
Vue表情输入组件 微信face表情组件
2019/02/11 Javascript
vue - vue.config.js中devServer配置方式
2019/10/30 Javascript
ES6使用新特性Proxy实现的数据绑定功能实例
2020/05/11 Javascript
Echarts.js无法引入问题解决方案
2020/10/30 Javascript
原生js实现点击按钮复制内容到剪切板
2020/11/19 Javascript
[02:36]DOTA2上海特锦赛 回忆电竞生涯的重要瞬间
2016/03/25 DOTA
浅谈python新手中常见的疑惑及解答
2016/06/14 Python
基于python爬虫数据处理(详解)
2017/06/10 Python
Python实现读取邮箱中的邮件功能示例【含文本及附件】
2017/08/05 Python
使用python获取电脑的磁盘信息方法
2018/11/01 Python
Python机器学习算法库scikit-learn学习之决策树实现方法详解
2019/07/04 Python
如何通过50行Python代码获取公众号全部文章
2019/07/12 Python
Linux下通过python获取本机ip方法示例
2019/09/06 Python
python识别验证码的思路及解决方案
2020/09/13 Python
python 爬虫基本使用——统计杭电oj题目正确率并排序
2020/10/26 Python
使用Python画了一棵圣诞树的实例代码
2020/11/27 Python
CSS3伪类选择器:nth-child()
2009/04/02 HTML / CSS
手工制作的意大利礼服鞋:Ace Marks
2018/12/15 全球购物
馥蕾诗美国官网:Fresh美国
2019/10/09 全球购物
优秀实习生感言
2014/03/01 职场文书
个人自荐材料
2014/05/23 职场文书
政府法律服务方案
2014/06/14 职场文书
党员教师群众路线个人整改措施
2014/10/28 职场文书
golang 实现时间戳和时间的转化
2021/05/07 Golang
win10系统计算机图标怎么调出来?win10调出计算机图标的方法
2022/08/14 数码科技