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程序员开发中常犯的10个错误
Jul 07 Python
Python内置函数的用法实例教程
Sep 08 Python
Python实现破解12306图片验证码的方法分析
Dec 29 Python
Python爬虫实例扒取2345天气预报
Mar 04 Python
Python3实现购物车功能
Apr 18 Python
PyQt5 QSerialPort子线程操作的实现
Apr 21 Python
python获取代码运行时间的实例代码
Jun 11 Python
python pyinstaller 加载ui路径方法
Jun 10 Python
python卸载后再次安装遇到的问题解决
Jul 10 Python
python删除列表元素的三种方法(remove,pop,del)
Jul 22 Python
mac在matplotlib中显示中文的操作方法
Mar 06 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
Mar 23 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
PHP小技巧之JS和CSS优化工具Minify的使用方法
2014/05/19 PHP
php提交post数组参数实例分析
2015/12/17 PHP
PHP实现爬虫爬取图片代码实例
2021/03/03 PHP
js本身的局限性 别让javascript做太多事
2010/03/23 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
2013/12/27 Javascript
jQuery使用slideUp方法实现控制元素缓慢收起
2015/03/27 Javascript
js闭包实现按秒计数
2015/04/23 Javascript
Vue.js每天必学之计算属性computed与$watch
2016/09/05 Javascript
Vue方法与事件处理器详解
2016/12/01 Javascript
移动端日期插件Mobiscroll.js使用详解
2016/12/19 Javascript
谈谈第三方App接入微信登录 解读
2016/12/27 Javascript
nodejs入门教程四:URL相关模块用法分析
2017/04/24 NodeJs
深入理解react-router@4.0 使用和源码解析
2017/05/23 Javascript
JavaScript严格模式下关于this的几种指向详解
2017/07/12 Javascript
vue中实现在外部调用methods的方法(推荐)
2018/02/08 Javascript
原生JavaScript实现滑动拖动验证的示例代码
2019/12/06 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
vue全局使用axios的操作
2020/09/08 Javascript
python根据出生日期返回年龄的方法
2015/03/26 Python
在Python中关于中文编码问题的处理建议
2015/04/08 Python
Python二分法搜索算法实例分析
2015/05/11 Python
Python模拟百度登录实例详解
2016/01/20 Python
Python实现按学生年龄排序的实际问题详解
2017/08/29 Python
Python饼状图的绘制实例
2019/01/15 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
2019/05/31 Python
python中类的输出或类的实例输出为这种形式的原因
2019/08/12 Python
解决jupyter notebook 前面书写后面内容消失的问题
2020/04/13 Python
基于python 取余问题(%)详解
2020/06/03 Python
解决Pycharm双击图标启动不了的问题(JetBrains全家桶通用)
2020/08/07 Python
使用CSS禁止textarea调整大小功能的方法
2015/03/13 HTML / CSS
Html5实现用户注册自动校验功能实例代码
2016/05/24 HTML / CSS
美国办公用品购物网站:Quill.com
2016/09/01 全球购物
营销学习心得体会
2014/09/12 职场文书
法人委托书范本
2014/09/15 职场文书
2015年乡镇扶贫工作总结
2015/04/08 职场文书
MySQL连接查询你真的学会了吗?
2021/06/02 MySQL