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 相关文章推荐
采用Psyco实现python执行速度提高到与编译语言一样的水平
Oct 11 Python
Python极简代码实现杨辉三角示例代码
Nov 15 Python
Django实现支付宝付款和微信支付的示例代码
Jul 25 Python
python执行CMD指令,并获取返回的方法
Dec 19 Python
Python编程在flask中模拟进行Restful的CRUD操作
Dec 28 Python
Python图像的增强处理操作示例【基于ImageEnhance类】
Jan 03 Python
在Python中,不用while和for循环遍历列表的实例
Feb 20 Python
Python实现定时执行任务的三种方式简单示例
Mar 30 Python
基于django channel实现websocket的聊天室的方法示例
Apr 11 Python
python 通过文件夹导入包的操作
Jun 01 Python
Python使用pycharm导入pymysql教程
Sep 16 Python
python使用pymysql模块操作MySQL
Jun 16 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
Protoss兵种介绍
2020/03/14 星际争霸
PHP结合Ueditor并修改图片上传路径
2016/10/16 PHP
php die()与exit()的区别实例详解
2016/12/03 PHP
HTML上传控件取消选择
2013/03/06 Javascript
JS批量修改PS中图层名称的方法
2014/01/26 Javascript
Jquery自定义button按钮的几种方法
2014/06/11 Javascript
jQuery设置和移除文本框默认值的方法
2015/03/09 Javascript
全面解析Bootstrap弹窗的实现方法
2015/12/01 Javascript
jQuery实现批量判断表单中文本框非空的方法(2种方法)
2015/12/09 Javascript
Bootstrap框架的学习教程详解(二)
2016/10/18 Javascript
vue自定义指令实现v-tap插件
2016/11/03 Javascript
HTML的select控件美化
2017/03/27 Javascript
vue-cli中打包图片路径错误的解决方法
2017/10/26 Javascript
使用webpack搭建vue项目及注意事项
2019/06/10 Javascript
微信小程序前端自定义分享的实现方法
2019/06/13 Javascript
vue轮播组件实现$children和$parent 附带好用的gif录制工具
2019/09/26 Javascript
微信小程序picker组件两列关联使用方式
2020/10/27 Javascript
关于javascript中的promise的用法和注意事项(推荐)
2021/01/15 Javascript
[01:00:53]OG vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[01:28]一分钟告诉你DOTA2 TI9不朽宝藏Ⅱ中有什么!
2019/07/09 DOTA
Python在不同目录下导入模块的实现方法
2017/10/27 Python
Python文件操作基本流程代码实例
2017/12/11 Python
Python cookbook(数据结构与算法)根据字段将记录分组操作示例
2018/03/19 Python
Django实现表单验证
2018/09/08 Python
python中pytest收集用例规则与运行指定用例详解
2019/06/27 Python
Python 实现输入任意多个数,并计算其平均值的例子
2019/07/16 Python
Python关于反射的实例代码分享
2020/02/20 Python
python绘制动态曲线教程
2020/02/24 Python
浅谈css3中calc在less编译时被计算的解决办法
2017/12/04 HTML / CSS
Html5原生拖拽相关事件简介以及基础实现
2020/11/19 HTML / CSS
巴西购物网站:Estrela10
2018/12/13 全球购物
实习老师离校感言
2014/02/03 职场文书
党支部创先争优活动总结
2014/08/28 职场文书
三问三解心得体会
2014/09/05 职场文书
李强为自己工作观后感
2015/06/11 职场文书
MySQL命令行操作时的编码问题详解
2021/04/14 MySQL