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的randrange()方法使用教程
May 15 Python
运动检测ViBe算法python实现代码
Jan 09 Python
解决python大批量读写.doc文件的问题
May 08 Python
python url 参数修改方法
Dec 26 Python
python的pytest框架之命令行参数详解(下)
Jun 27 Python
python3的url编码和解码,自定义gbk、utf-8的例子
Aug 22 Python
python 实现绘制整齐的表格
Nov 18 Python
Python sql注入 过滤字符串的非法字符实例
Apr 03 Python
Python使用Excel将数据写入多个sheet
May 16 Python
python中if及if-else如何使用
Jun 02 Python
详解Python多线程下的list
Jul 03 Python
通过代码实例了解Python异常本质
Sep 16 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不用正则采集速度探究总结
2008/03/24 PHP
Memcache 在PHP中的使用技巧
2010/02/08 PHP
PHP中include与require使用方法区别详解
2013/10/19 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
Dojo之路:如何利用Dojo实现Drag and Drop效果
2007/04/10 Javascript
extjs 为某个事件设置拦截器
2010/01/15 Javascript
jquery重新播放css动画所遇问题解决
2013/08/21 Javascript
javascript实现简单的Map示例介绍
2013/12/23 Javascript
javascript和jquery实现设置和移除文本框默认值效果代码
2015/01/13 Javascript
jQuery事件用法详解
2016/10/06 Javascript
jQuery解析返回的xml和json方法详解
2017/01/05 Javascript
vue.js学习笔记:如何加载本地json文件
2017/01/17 Javascript
详解JS中的柯里化(currying)
2017/08/17 Javascript
Vue filter介绍及其使用详解
2017/10/21 Javascript
微信小程序搭建自己的Https服务器
2019/05/02 Javascript
layer.open弹层查看缩略图的原图,自适应大小的实例
2019/09/05 Javascript
python并发编程之多进程、多线程、异步和协程详解
2016/10/28 Python
python三引号输出方法
2019/02/27 Python
python格式化输出保留2位小数的实现方法
2019/07/02 Python
Ubuntu20.04环境安装tensorflow2的方法步骤
2021/01/29 Python
Python 调用C++封装的进一步探索交流
2021/03/04 Python
澳大利亚冲浪和时尚服装网上购物:SurfStitch
2017/07/29 全球购物
亚马逊墨西哥站:Amazon.com.mx
2018/08/26 全球购物
车间班长岗位职责
2013/11/30 职场文书
军校本科大学生自我评价
2014/01/14 职场文书
1亿有多大教学反思
2014/05/01 职场文书
主持人演讲稿
2014/05/13 职场文书
上班迟到检讨书
2014/09/15 职场文书
校园广播稿100字
2014/10/06 职场文书
2014年幼儿园德育工作总结
2014/12/17 职场文书
投标售后服务承诺书
2015/04/29 职场文书
道歉信怎么写
2015/05/12 职场文书
唐山大地震的观后感
2015/06/05 职场文书
golang三种设计模式之简单工厂、方法工厂和抽象工厂
2022/04/10 Golang
基于docker安装zabbix的详细教程
2022/06/05 Servers
Windows server 2012 NTP时间同步的实现
2022/06/25 Servers