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去除列表中重复元素的方法
Mar 20 Python
python解决pandas处理缺失值为空字符串的问题
Apr 08 Python
Tensorflow 训练自己的数据集将数据直接导入到内存
Jun 19 Python
Python OpenCV处理图像之滤镜和图像运算
Jul 10 Python
pycharm 实现显示project 选项卡的方法
Jan 17 Python
python随机在一张图像上截取任意大小图片的方法
Jan 24 Python
详解Python中is和==的区别
Mar 21 Python
Django后端接收嵌套Json数据及解析详解
Jul 17 Python
python文件编写好后如何实践
Jul 07 Python
详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强
Nov 17 Python
call在Python中改进数列的实例讲解
Dec 09 Python
Python中seaborn库之countplot的数据可视化使用
Jun 11 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
php 什么是PEAR?(第三篇)
2009/03/19 PHP
PHP利用str_replace防注入的方法
2013/11/10 PHP
ThinkPHP自动完成中使用函数与回调方法实例
2014/11/29 PHP
PHP封装的Twitter访问类实例
2015/07/18 PHP
php基于curl实现随机ip地址抓取内容的方法
2016/10/11 PHP
Windows 下安装 swoole 图文教程(php)
2017/06/05 PHP
图片按比例缩放函数
2006/06/26 Javascript
JavaScript返回网页中锚点数目的方法
2015/04/03 Javascript
JS截取与分割字符串常用技巧总结
2015/11/10 Javascript
详解AngularJS中$http缓存以及处理多个$http请求的方法
2016/02/06 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
2016/05/03 Javascript
BootStrap 动态添加验证项和取消验证项的实现方法
2016/09/28 Javascript
微信小程序左滑删除实现代码实例
2019/09/16 Javascript
在vue中created、mounted等方法使用小结
2020/07/21 Javascript
python字符串加密解密的三种方法分享(base64 win32com)
2014/01/19 Python
Python实现的HTTP并发测试完整示例
2020/04/23 Python
Python 查看文件的编码格式方法
2017/12/21 Python
python如何统计序列中元素
2020/07/31 Python
python3使用smtplib实现发送邮件功能
2018/05/22 Python
python实现随机梯度下降法
2020/03/24 Python
详解Django定时任务模块设计与实践
2019/07/24 Python
Python 函数绘图及函数图像微分与积分
2019/11/20 Python
Pycharm 2020年最新激活码(亲测有效)
2020/09/18 Python
Windows 下python3.8环境安装教程图文详解
2020/03/11 Python
在keras里面实现计算f1-score的代码
2020/06/15 Python
通过HTML5 Canvas API绘制弧线和圆形的教程
2016/03/14 HTML / CSS
捷克玩具商店:Bambule
2019/02/23 全球购物
公交公司毕业生求职信
2014/02/15 职场文书
大学生求职信例文
2014/06/29 职场文书
学生党员一帮一活动总结
2014/07/08 职场文书
小学班级口号大全
2015/12/25 职场文书
golang 实现菜单树的生成方式
2021/04/28 Golang
Python机器学习之PCA降维算法详解
2021/05/19 Python
vue实现同时设置多个倒计时
2021/05/20 Vue.js
为什么MySQL分页用limit会越来越慢
2021/07/25 MySQL
instantclient客户端 连接oracle数据库
2022/04/26 Oracle