python 正则表达式 概述及常用字符


Posted in Python onMay 04, 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删除windows垃圾文件的方法
Jul 14 Python
Python 专题三 字符串的基础知识
Mar 19 Python
Python基于正则表达式实现检查文件内容的方法【文件检索】
Aug 30 Python
python实现学生信息管理系统
Apr 05 Python
python单例模式获取IP代理的方法详解
Sep 13 Python
selenium3+python3环境搭建教程图解
Dec 07 Python
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
Feb 13 Python
使用python telnetlib批量备份交换机配置的方法
Jul 25 Python
画pytorch模型图,以及参数计算的方法
Aug 17 Python
python实现的config文件读写功能示例
Sep 24 Python
如何基于Python实现自动扫雷
Jan 06 Python
Python3实现英文字母转换哥特式字体实例代码
Sep 01 Python
用python实现的可以拷贝或剪切一个文件列表中的所有文件
Apr 30 #Python
Python 自动安装 Rising 杀毒软件
Apr 24 #Python
Python 解析XML文件
Apr 15 #Python
合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友
Apr 09 #Python
python thread 并发且顺序运行示例
Apr 09 #Python
python 判断一个进程是否存在
Apr 09 #Python
python ElementTree 基本读操作示例
Apr 09 #Python
You might like
超神学院:鹤熙已踏入神圣领域,实力不比凯莎弱
2020/03/02 国漫
php读取csv文件并输出的方法
2015/03/14 PHP
Prototype使用指南之range.js
2007/01/10 Javascript
学习js所必须要知道的一些
2007/03/07 Javascript
经常用的图片在容器中的水平垂直居中实例
2007/06/10 Javascript
Flash+XML滚动新闻代码 无图片 附源码下载
2007/11/22 Javascript
理解JavaScript变量作用域更轻松
2009/10/25 Javascript
JS getStyle获取最终样式函数代码
2010/04/01 Javascript
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
2011/04/12 Javascript
30个最好的jQuery 灯箱插件分享
2011/04/25 Javascript
使用jQuery同时控制四张图片的伸缩实现代码
2013/04/19 Javascript
js运动事件函数详解
2016/10/21 Javascript
基于vuejs实现一个todolist项目
2017/04/11 Javascript
基于jQuery实现瀑布流页面
2017/04/11 jQuery
微信小程序模版渲染详解
2018/01/26 Javascript
video.js 实现视频只能后退不能快进的思路详解
2018/08/09 Javascript
微信小程序五子棋游戏AI实现方法【附demo源码下载】
2019/02/20 Javascript
el-select 下拉框多选实现全选的实现
2019/08/02 Javascript
JS前端基于canvas给图片添加水印
2020/11/11 Javascript
[49:40]2018DOTA2亚洲邀请赛小组赛 A组加赛 TNC vs Newbee
2018/04/03 DOTA
asyncio 的 coroutine对象 与 Future对象使用指南
2016/09/11 Python
python3实现163邮箱SMTP发送邮件
2018/05/22 Python
Sanic框架蓝图用法实例分析
2018/07/17 Python
Python二叉树的镜像转换实现方法示例
2019/03/06 Python
Pandas的数据过滤实现
2021/01/15 Python
几道Web/Ajax的面试题
2016/11/05 面试题
介绍一下SOA和SOA的基本特征
2016/02/24 面试题
幼儿园长自我鉴定
2013/10/17 职场文书
优秀村官事迹材料
2014/01/10 职场文书
单位实习证明怎么写
2014/01/17 职场文书
本科毕业生自荐信
2014/05/26 职场文书
2014年仓库保管员工作总结
2014/12/03 职场文书
大明湖导游词
2015/02/03 职场文书
2015年学校总务处工作总结
2015/05/19 职场文书
2016年第十四个公民道德宣传日活动总
2016/04/01 职场文书
MySQL REVOKE实现删除用户权限
2021/06/18 MySQL