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通过yield实现数组全排列的方法
Mar 18 Python
低版本中Python除法运算小技巧
Apr 05 Python
python实现同时给多个变量赋值的方法
Apr 30 Python
Python过滤列表用法实例分析
Apr 29 Python
python获取当前用户的主目录路径方法(推荐)
Jan 12 Python
使用Scrapy爬取动态数据
Oct 21 Python
pip安装py_zipkin时提示的SSL问题对应
Dec 29 Python
用python一行代码得到数组中某个元素的个数方法
Jan 28 Python
python爬虫基础教程:requests库(二)代码实例
Apr 09 Python
python PIL/cv2/base64相互转换实例
Jan 09 Python
pandas 按日期范围筛选数据的实现
Feb 20 Python
Python下载商品数据并连接数据库且保存数据
Mar 31 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
1982年日本摄影师镜头下的中国孩子 那无忧无虑的童年
2020/03/12 杂记
PHP高级编程实例:编写守护进程
2014/09/02 PHP
PHP调试函数和日志记录函数分享
2015/01/31 PHP
php面向对象中static静态属性和静态方法的调用
2015/02/08 PHP
PHP如何实现Unicode和Utf-8编码相互转换
2015/07/29 PHP
php实现无限级分类查询(递归、非递归)
2016/03/10 PHP
php中10个不同等级压缩优化图片操作示例
2016/11/14 PHP
fireworks菜单生成器mm_menu.js在 IE 7.0 显示问题的解决方法
2009/10/20 Javascript
jQuery 选择器理解
2010/03/16 Javascript
超酷的网页音乐播放器DewPlayer使用方法
2010/12/18 Javascript
jquery实现网站超链接和图片提示效果
2013/03/21 Javascript
Jquery Ajax xmlhttp请求成功问题
2015/02/04 Javascript
javascript中使用new与不使用实例化对象的区别
2015/06/22 Javascript
JavaScript调用客户端Java程序的方法
2015/07/27 Javascript
jQuery实现类似标签风格的导航菜单效果代码
2015/08/25 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记8)
2015/12/24 Javascript
Sea.JS知识总结
2016/05/05 Javascript
JavaScript定义全局对象的方法示例
2017/01/12 Javascript
浅析JS中的 map, filter, some, every, forEach, for in, for of 用法总结
2017/03/29 Javascript
利用forever和pm2部署node.js项目过程
2017/05/10 Javascript
解决Mac安装thrift因bison报错的问题
2018/05/17 Javascript
[43:51]2014 DOTA2国际邀请赛中国区预选赛 Dream Times VS TongFu
2014/05/22 DOTA
巧用Python装饰器 免去调用父类构造函数的麻烦
2012/05/18 Python
Python环境下安装使用异步任务队列包Celery的基础教程
2016/05/07 Python
Python使用matplotlib绘制正弦和余弦曲线的方法示例
2018/01/06 Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
2018/06/27 Python
Python创建一个空的dataframe,并循环赋值的方法
2018/11/08 Python
浅析python redis的连接及相关操作
2019/11/07 Python
世界上最大的各式箱包网络零售店:eBag
2016/07/21 全球购物
简单的JAVA编程面试题
2013/03/19 面试题
父亲节感言
2015/08/03 职场文书
少先队大队委竞选口号
2015/12/25 职场文书
python实现socket简单通信的示例代码
2021/04/13 Python
Java生成读取条形码和二维码的简单示例
2021/07/09 Java/Android
TV动画《神废柴☆偶像》公布先导PV
2022/03/20 日漫
Nebula Graph解决风控业务实践
2022/03/31 MySQL