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列表操作之extend和append的区别实例分析
Jul 28 Python
学习python 之编写简单乘法运算题
Feb 27 Python
简单谈谈Python中的反转字符串问题
Oct 24 Python
基于python select.select模块通信的实例讲解
Sep 21 Python
Diango + uwsgi + nginx项目部署的全过程(可外网访问)
Apr 22 Python
python提取具有某种特定字符串的行数据方法
Dec 11 Python
python实现图片上添加图片
Nov 26 Python
Keras实现将两个模型连接到一起
May 23 Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
May 23 Python
使用python创建Excel工作簿及工作表过程图解
May 27 Python
Django中F函数的使用示例代码详解
Jul 06 Python
Python中np.random.randint()参数详解及用法实例
Sep 23 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在文件指定行中写入代码的方法
2012/05/23 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
2013/06/28 PHP
php实现的debug log日志操作类实例
2016/07/12 PHP
微信开发之获取JSAPI TICKET
2017/07/07 PHP
PHP htmlspecialchars() 函数实例代码及用法大全
2018/09/18 PHP
php图片裁剪函数
2018/10/31 PHP
jQuery 计算iframe 窗口大小的方法
2014/05/13 Javascript
基于javascript实现判断移动终端浏览器版本信息
2014/12/09 Javascript
javascript实现给定半径求出圆的面积
2015/06/26 Javascript
JQuery EasyUI学习教程之datagrid 添加、修改、删除操作
2016/07/09 Javascript
vue-cli的webpack模板项目配置文件分析
2017/04/01 Javascript
原生js简单实现放大镜特效
2017/05/16 Javascript
JS实现商品筛选功能
2020/08/19 Javascript
laydate 显示结束时间不小于开始时间的实例
2017/08/11 Javascript
取消Bootstrap的dropdown-menu点击默认关闭事件方法
2018/08/10 Javascript
Vue官方推荐AJAX组件axios.js使用方法详解与API
2018/10/09 Javascript
微信小程序实现展示评分结果功能
2019/02/15 Javascript
基于nodejs的微信JS-SDK简单应用实现
2019/05/21 NodeJs
python编程通过蒙特卡洛法计算定积分详解
2017/12/13 Python
Python爬取成语接龙类网站
2018/10/19 Python
图文详解python安装Scrapy框架步骤
2019/05/20 Python
python实现梯度法 python最速下降法
2020/03/24 Python
django修改models重建数据库的操作
2020/03/31 Python
Python如何读取、写入CSV数据
2020/07/28 Python
python如何实现递归转非递归
2021/02/25 Python
美国儿童玩具、装扮和玩偶商店:Magic Cabin
2018/09/02 全球购物
广州御银科技股份有限公司试卷(C++)
2016/11/04 面试题
如何用JQuery进行表单验证
2013/05/29 面试题
外贸业务员岗位职责
2013/11/24 职场文书
毕业生的自我鉴定该怎么写
2013/12/02 职场文书
简短证婚人证婚词
2014/01/09 职场文书
小学班级口号
2014/06/09 职场文书
圣诞节活动策划方案
2014/06/09 职场文书
合伙经营协议书范本(通用版)
2014/12/03 职场文书
新手入门Jvm-- JVM对象创建与内存分配机制
2021/06/18 Java/Android
PYTHON InceptionV3模型的复现详解
2022/05/06 Python