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编程中的命名空间与作用域
Oct 16 Python
python中的格式化输出用法总结
Jul 28 Python
Python利用ElementTree模块处理XML的方法详解
Aug 31 Python
hmac模块生成加入了密钥的消息摘要详解
Jan 11 Python
PyQt5实现拖放功能
Apr 25 Python
Python3中的json模块使用详解
May 05 Python
python f-string式格式化听语音流程讲解
Jun 18 Python
pyqt5 删除layout中的所有widget方法
Jun 25 Python
布隆过滤器的概述及Python实现方法
Dec 08 Python
Keras 实现加载预训练模型并冻结网络的层
Jun 15 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
Jul 03 Python
Python基于正则表达式实现计算器功能
Jul 13 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
一个ORACLE分页程序,挺实用的.
2006/10/09 PHP
简单的php新闻发布系统教程
2014/05/09 PHP
php对象工厂类完整示例
2018/08/09 PHP
php操作redis常见方法示例【key与value操作】
2020/04/14 PHP
对google个性主页的拖拽效果的js的完整注释[转]
2007/04/10 Javascript
jquery Firefox3.5中操作select的问题
2009/07/10 Javascript
js设置cookie过期及清除浏览器对应名称的cookie
2013/10/24 Javascript
利用css+原生js制作简单的钟表
2020/04/07 Javascript
input 禁止输入特殊字符的四种实现方式
2016/08/24 Javascript
基于Vuejs框架实现翻页组件
2020/06/29 Javascript
基于JavaScript实现随机颜色输入框
2016/12/10 Javascript
利用Angular2 + Ionic3开发IOS应用实例教程
2018/01/15 Javascript
js和jquery判断数据类型的4种方法总结
2020/08/28 jQuery
[01:33:14]LGD vs VP Supermajor 败者组决赛 BO3 第二场 6.10
2018/07/04 DOTA
python里将list中元素依次向前移动一位
2014/09/12 Python
python将图片文件转换成base64编码的方法
2015/03/14 Python
Python中使用第三方库xlrd来读取Excel示例
2015/04/05 Python
Python的函数的一些高阶特性
2015/04/27 Python
在Windows服务器下用Apache和mod_wsgi配置Python应用的教程
2015/05/06 Python
Python实现将数据库一键导出为Excel表格的实例
2016/12/30 Python
python+selenium开发环境搭建图文教程
2017/08/11 Python
Python3实现爬取指定百度贴吧页面并保存页面数据生成本地文档的方法
2018/04/22 Python
python3使用flask编写注册post接口的方法
2018/12/28 Python
python else语句在循环中的运用详解
2020/07/06 Python
FOREO官方网站:LUNA露娜洁面仪
2016/11/28 全球购物
俄罗斯汽车零件和配件在线商店:CarvilleShop
2019/11/29 全球购物
善意的谎言事例
2014/02/15 职场文书
企业演讲比赛主持词
2014/03/18 职场文书
酒店开业庆典主持词
2014/03/21 职场文书
保研推荐信
2014/05/09 职场文书
法学自荐信
2014/06/20 职场文书
煤矿开采专业求职信
2014/07/08 职场文书
赔偿协议书范本
2014/09/12 职场文书
2014年幼儿园工作总结
2014/11/10 职场文书
男方婚礼答谢词
2015/01/20 职场文书
Python之matplotlib绘制饼图
2022/04/13 Python