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不规范的日期字符串处理类
Jun 10 Python
Python中urllib+urllib2+cookielib模块编写爬虫实战
Jan 20 Python
python监控文件或目录变化
Jun 07 Python
浅谈Python爬虫基本套路
Mar 25 Python
Python实现账号密码输错三次即锁定功能简单示例
Mar 29 Python
Django ImageFiled上传照片并显示的方法
Jul 28 Python
python连接PostgreSQL数据库的过程详解
Sep 18 Python
python实现身份证实名认证的方法实例
Nov 08 Python
wxpython多线程防假死与线程间传递消息实例详解
Dec 13 Python
Tensorflow 使用pb文件保存(恢复)模型计算图和参数实例详解
Feb 11 Python
python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例
Mar 06 Python
Python  序列化反序列化和异常处理的问题小结
Dec 24 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
使用 php4 加速 web 传输
2006/10/09 PHP
处理单名多值表单的详解
2013/06/08 PHP
PHP使用DirectoryIterator显示下拉文件列表的方法
2015/03/13 PHP
php版微信公众平台入门教程之开发者认证的方法
2016/09/26 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
2017/03/06 PHP
老生常谈PHP中的数据结构:DS扩展
2017/07/17 PHP
php弹出提示框的是实例写法
2019/09/26 PHP
laravel-admin自动生成模块,及相关基础配置方法
2019/10/08 PHP
使用laravel的Eloquent模型如何获取数据库的指定列
2019/10/17 PHP
Laravel使用swoole实现websocket主动消息推送的方法介绍
2019/10/20 PHP
List Installed Software Features
2007/06/11 Javascript
JavaScript模拟深蓝vs卡斯帕罗夫的国际象棋对局示例
2015/04/22 Javascript
js拼接html字符串的注意事项
2016/10/13 Javascript
js实现canvas图片与img图片的相互转换的示例
2017/08/31 Javascript
Angular 利用路由跳转到指定页面的指定位置方法
2018/08/31 Javascript
vue中activated的用法
2021/01/03 Vue.js
Python实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
2014/06/04 Python
在Python的Flask框架下使用sqlalchemy库的简单教程
2015/04/09 Python
Python3连接MySQL(pymysql)模拟转账实现代码
2016/05/24 Python
PyGame贪吃蛇的实现代码示例
2018/11/21 Python
详解利用css3的var()实现运行时改变scss的变量值
2021/03/02 HTML / CSS
时装界的“朋克之母”:Vivienne Westwood
2017/07/06 全球购物
荷兰领先的百货商店:De Bijenkorf
2018/10/17 全球购物
智能钱包:Ekster
2019/11/21 全球购物
工商管理专业实习生自我鉴定
2013/09/29 职场文书
2014年应届大学生毕业自我鉴定
2014/01/31 职场文书
应届毕业生求职信范文
2014/07/07 职场文书
公务员政审个人总结
2015/02/12 职场文书
沂蒙六姐妹观后感
2015/06/08 职场文书
售房协议书范本
2015/08/11 职场文书
安全教育的主题班会
2015/08/13 职场文书
SONY AN-LP1 短波有源天线放大器
2021/04/22 无线电
python之基数排序的实现
2021/07/26 Python
十大最强火系宝可梦,喷火龙上榜,第一名有双火属性
2022/03/18 日漫
古见同学有交流障碍症 第二季宣传CM公开播出
2022/04/11 日漫
Python通用验证码识别OCR库ddddocr的安装使用教程
2022/07/07 Python