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基类函数的重载与调用实例分析
Jan 12 Python
python字典键值对的添加和遍历方法
Sep 11 Python
python使用两种发邮件的方式smtp和outlook示例
Jun 02 Python
python中Switch/Case实现的示例代码
Nov 09 Python
特征脸(Eigenface)理论基础之PCA主成分分析法
Mar 13 Python
Python爬虫信息输入及页面的切换方法
May 11 Python
python 读取文件并替换字段的实例
Jul 12 Python
Python语言快速上手学习方法
Dec 14 Python
python导入坐标点的具体操作
May 10 Python
Python warning警告出现的原因及忽略方法
Jan 31 Python
Python 列表中的修改、添加和删除元素的实现
Jun 11 Python
python实现批量命名照片
Jun 18 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
增加反向链接的101个方法 站长推荐
2007/01/31 PHP
PHP微信企业号开发之回调模式开启与用法示例
2017/11/25 PHP
php实现构建排除当前元素的乘积数组方法
2018/10/06 PHP
JavaScript 打地鼠游戏代码说明
2010/10/12 Javascript
JavaScript 一道字符串分解的题目
2011/08/03 Javascript
JavaScript 命名空间 使用介绍
2013/08/29 Javascript
Jquery中find与each方法用法实例
2015/02/04 Javascript
微信小程序实现鼠标拖动效果示例
2017/12/01 Javascript
vue spa应用中的路由缓存问题与解决方案
2019/05/31 Javascript
layui之数据表格--与后台交互获取数据的方法
2019/09/29 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
2019/12/21 Javascript
浅析 Vue 3.0 的组装式 API(一)
2020/08/31 Javascript
node.js通过url读取文件
2020/10/16 Javascript
[34:39]Secret vs VG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Python 自动化表单提交实例代码
2017/06/08 Python
python中如何使用正则表达式的非贪婪模式示例
2017/10/09 Python
机器学习经典算法-logistic回归代码详解
2017/12/22 Python
Python使用matplotlib绘制三维图形示例
2018/08/25 Python
python遍历小写英文字母的方法
2019/01/02 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
Python Web框架之Django框架Model基础详解
2019/08/16 Python
Python partial函数原理及用法解析
2019/12/11 Python
如何基于Python爬取隐秘的角落评论
2020/07/02 Python
如何使用Python进行PDF图片识别OCR
2021/01/22 Python
Python实现简单猜数字游戏
2021/02/03 Python
解析html5 canvas实现背景鼠标连线动态效果代码
2019/06/17 HTML / CSS
英国香水店:The Perfume Shop
2017/03/27 全球购物
毕业生造价工程师求职信
2013/10/17 职场文书
适用于所有创业者的创业计划书
2014/02/05 职场文书
酒店大堂副理的职责范文
2014/02/13 职场文书
绿色学校实施方案
2014/03/31 职场文书
干部竞争上岗演讲稿
2014/09/11 职场文书
邀请函模板
2015/02/02 职场文书
商务英语求职信范文
2015/03/19 职场文书
单位收入证明范本
2015/06/18 职场文书
《鲸》教学反思
2016/02/23 职场文书