python 正则式 概述及常用字符


Posted in Python onMay 07, 2009

1.元字符:
. 它匹配除了换行字符外的任何字符,在 alternate 模式(re.DOTALL)下它甚至可以匹配换行
^ 匹配行首。除非设置 MULTILINE 标志,它只是匹配字符串的开始。
$ 匹配行尾,行尾被定义为要么是字符串尾,要么是一个换行字符后面的任何位置。
* 重复0或N次
+ 重复1或N次
? 重复0或1次
{} 该限定符的意思是至少有 m 个重复,至多到 n 个重复
[] 它们常用来指定一个字符类别,所谓字符类别就是你想匹配的一个字符集
\ 反斜杠后面可以加不同的字符以表示不同特殊意义。它也可以用于取消所有的元字符,这样你就可以在模式中匹配它们了
| 可选项,或者 "or" 操作符。
() 组
2.[akm$]将匹配字符"a", "k", "m", 或 "$" 中的任意一个;"$"通常用作元字符,但在字符类别里,其特性被除去,恢复成普通字符。
3.用 "\" 开始的特殊字符所表示的预定义字符集
\d 匹配任何十进制数;它相当于类 [0-9]。
\D 匹配任何非数字字符;它相当于类 [^0-9]。
\s 匹配任何空白字符;它相当于类 [ \t\n\r\f\v]。
\S 匹配任何非空白字符;它相当于类 [^\t\n\r\f\v]。
\w 匹配任何字母数字字符;它相当于类 [a-zA-Z0-9_]。
\W 匹配任何非字母数字字符;它相当于类 [^a-zA-Z0-9_]。
\A 只匹配字符串首。当不在 MULTILINE 模式,\A 和 ^ 实际上是一样的。然而,在 MULTILINE 模式里它们是不同的;\A 只是匹配字符串首,而 ^ 还可以匹配在换行符之后字符串的任何位置。
\Z 只匹配字符串尾。
\b 单词边界。这是个零宽界定符(zero-width assertions)只用以匹配单词的词首和词尾。单词被定义为一个字母数字序列,因此词尾就是用空白符或非字母数字符来标示的。
\B 另一个零宽界定符(zero-width assertions),它正好同 \b 相反,只在当前位置不在单词边界时匹配。
4.重复元字符
* 重复0或N次
+ 重复1或N次
? 重复0或1次
{m,n},其中 m 和 n 是十进制整数。该限定符的意思是至少有 m 个重复,至多到 n 个重复
5.RegexObject对象常用方法
match() 决定 RE 是否在字符串刚开始的位置匹配
search() 扫描字符串,找到这个 RE 匹配的位置
findall() 找到 RE 匹配的所有子串,并把它们作为一个列表返回
finditer() 找到 RE 匹配的所有子串,并把它们作为一个迭代器返回
6.MatchObject对象的常用方法
group() 返回被 RE 匹配的字符串
start() 返回匹配开始的位置
end() 返回匹配结束的位置
span() 返回一个元组包含匹配 (开始,结束) 的位置
7.编译标志
DOTALL, S     使 . 匹配包括换行在内的所有字符
IGNORECASE, I     使匹配对大小写不敏感
LOCALE, L     做本地化识别(locale-aware)匹配
MULTILINE, M     多行匹配,影响 ^ 和 $
VERBOSE, X     能够使用 REs 的 verbose 状态,使之被组织得更清晰易懂

Python 相关文章推荐
深入分析在Python模块顶层运行的代码引起的一个Bug
Jul 04 Python
Python中声明只包含一个元素的元组数据方法
Aug 25 Python
python妹子图简单爬虫实例
Jul 07 Python
Python实现通过文件路径获取文件hash值的方法
Apr 29 Python
Python实现文件信息进行合并实例代码
Jan 17 Python
Python安装模块的常见问题及解决方法
Feb 05 Python
Python应用库大全总结
May 30 Python
Flask实现跨域请求的处理方法
Sep 27 Python
python中多个装饰器的调用顺序详解
Jul 16 Python
Pytorch Tensor的统计属性实例讲解
Dec 30 Python
pycharm通过ssh连接远程服务器教程
Feb 12 Python
django-xadmin根据当前登录用户动态设置表单字段默认值方式
Mar 13 Python
python 正则式使用心得
May 07 #Python
python ip正则式
May 07 #Python
Python 正则表达式操作指南
May 04 #Python
python 正则表达式 概述及常用字符
May 04 #Python
用python实现的可以拷贝或剪切一个文件列表中的所有文件
Apr 30 #Python
Python 自动安装 Rising 杀毒软件
Apr 24 #Python
Python 解析XML文件
Apr 15 #Python
You might like
PHP中的cookie
2006/11/26 PHP
php文件上传的简单实例
2013/10/19 PHP
php版微信js-sdk支付接口类用法示例
2016/10/12 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
2009/08/28 Javascript
JS继承用法实例分析
2015/02/05 Javascript
最简单的JavaScript图片轮播代码(两种方法)
2015/12/18 Javascript
JS组件Bootstrap dropdown组件扩展hover事件
2016/04/17 Javascript
jQuery实现布局高宽自适应的简单实例
2016/05/28 Javascript
基于jQuery制作小图标上下滑动特效
2017/01/18 Javascript
js 调用百度分享功能
2017/02/27 Javascript
JS设计模式之数据访问对象模式的实例讲解
2017/09/30 Javascript
浅谈Vue组件及组件的注册方法
2018/08/24 Javascript
详解vue 2.6 中 slot 的新用法
2019/07/09 Javascript
vue实现鼠标经过动画
2019/10/16 Javascript
js实现课堂随机点名系统
2019/11/21 Javascript
Angular封装表单控件及思想总结
2019/12/11 Javascript
解决vue.js中settimeout遇到的问题(时间参数短效果不稳定)
2020/07/21 Javascript
解决Vue-Router升级导致的Uncaught (in promise)问题
2020/08/07 Javascript
python中利用队列asyncio.Queue进行通讯详解
2017/09/10 Python
使用Python自动化破解自定义字体混淆信息的方法实例
2019/02/13 Python
python os模块简单应用示例
2019/05/23 Python
pygame实现俄罗斯方块游戏(基础篇3)
2019/10/29 Python
Python super()方法原理详解
2020/03/31 Python
python语音识别指南终极版(有这一篇足矣)
2020/09/09 Python
将时尚融入珠宝:Adornmonde
2019/10/17 全球购物
你常见到的runtime exception
2016/09/05 面试题
Oracle快照(snapshot)
2015/03/13 面试题
教师求职推荐信范文
2013/11/20 职场文书
《雨霖铃》听课反思
2014/02/13 职场文书
小学生秋游活动方案
2014/02/23 职场文书
运动会通讯稿50字
2015/07/20 职场文书
运动会800米赞词
2015/07/22 职场文书
班级班风口号大全
2015/12/25 职场文书
2016年机关单位节能宣传周活动总结
2016/04/05 职场文书
mysql配置SSL证书登录的实现
2021/09/04 MySQL