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实现ipsec开权限实例
Nov 11 Python
Python实现嵌套列表及字典并按某一元素去重复功能示例
Nov 30 Python
详解flask入门模板引擎
Jul 18 Python
python 定时器,实现每天凌晨3点执行的方法
Feb 20 Python
PYQT5设置textEdit自动滚屏的方法
Jun 14 Python
pygame实现俄罗斯方块游戏(基础篇2)
Oct 29 Python
关于pytorch处理类别不平衡的问题
Dec 31 Python
tensorflow之自定义神经网络层实例
Feb 07 Python
python3使用diagrams绘制架构图的步骤
Apr 08 Python
python 机器学习的标准化、归一化、正则化、离散化和白化
Apr 16 Python
python 实现体质指数BMI计算
May 26 Python
Pandas自定义选项option设置
Jul 25 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
关于PHP5 Session生命周期介绍
2010/03/02 PHP
PHP怎么实现网站保存快捷方式方便用户随时浏览
2013/08/15 PHP
php学习笔记之基础知识
2014/11/08 PHP
Yii2框架中日志的使用方法分析
2017/05/22 PHP
PHP实现的多进程控制demo示例
2019/07/22 PHP
js实现权限树的更新权限时的全选全消功能
2009/02/17 Javascript
JQuery SELECT单选模拟jQuery.select.js
2009/11/12 Javascript
Bootstrap导航栏各元素操作方法(表单、按钮、文本)
2015/12/28 Javascript
使用jQuery制作浮动工具栏的实例分享
2016/05/13 Javascript
SVG描边动画
2017/02/23 Javascript
使用canvas及js简单生成验证码方法
2017/04/02 Javascript
Angular X中使用ngrx的方法详解(附源码)
2017/07/10 Javascript
Node.js成为Web应用开发最佳选择的原因
2018/02/05 Javascript
Angular学习笔记之集成三方UI框架、控件的示例
2018/03/23 Javascript
简单易扩展可控性强的Jquery转盘抽奖程序
2019/03/16 jQuery
Vue3.0结合bootstrap创建多页面应用
2019/05/28 Javascript
vue-devtools的安装和使用步骤详解
2019/10/17 Javascript
解决node.js含有%百分号时发送get请求时浏览器地址自动编码的问题
2019/11/20 Javascript
Vue微信公众号网页分享的示例代码
2020/05/28 Javascript
element-ui封装一个Table模板组件的示例
2021/01/04 Javascript
[08:06]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant 选手采访
2021/03/11 DOTA
python插入排序算法实例分析
2015/07/03 Python
Python制作数据导入导出工具
2015/07/31 Python
Flask框架的学习指南之制作简单blog系统
2016/11/20 Python
Python实现邮件的批量发送的示例代码
2018/01/23 Python
Django rest framework基本介绍与代码示例
2018/01/26 Python
python脚本执行CMD命令并返回结果的例子
2019/08/14 Python
python函数参数(必须参数、可变参数、关键字参数)
2019/08/16 Python
python日志模块logbook使用方法
2019/09/19 Python
简单了解pytest测试框架setup和tearDown
2020/04/14 Python
Python接口测试环境搭建过程详解
2020/06/29 Python
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
2020/07/13 Python
介绍一下Java的事务处理
2012/12/07 面试题
医学专业毕业生个人的求职信
2013/12/04 职场文书
校园安全教育广播稿
2014/02/17 职场文书
详解非极大值抑制算法之Python实现
2021/06/28 Python