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多进程并发(multiprocessing)用法实例详解
Jun 02 Python
在Django中限制已登录用户的访问的方法
Jul 23 Python
对numpy中array和asarray的区别详解
Apr 17 Python
Python爬虫实现抓取京东店铺信息及下载图片功能示例
Aug 07 Python
Python版名片管理系统
Nov 30 Python
基于Python获取城市近7天天气预报
Nov 26 Python
Python实现直播推流效果
Nov 26 Python
3种python调用其他脚本的方法
Jan 06 Python
Pytorch 实现sobel算子的卷积操作详解
Jan 10 Python
python实现查找所有程序的安装信息
Feb 18 Python
浅析Python的命名空间与作用域
Nov 25 Python
Python Socket多线程并发原理及实现
Dec 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的cURL库功能简介 抓取网页、POST数据及其他
2011/04/07 PHP
PHP操作MongoDB GridFS 存储文件的详解
2013/06/20 PHP
php连接函数implode与分割explode的深入解析
2013/06/26 PHP
让IE8支持DOM 2(不用框架!)
2009/12/31 Javascript
网站页面自动跳转实现方法PHP、JSP(下)
2010/08/01 Javascript
jquery的ajax请求全面了解
2013/03/20 Javascript
脚本合并提升javascript性能示例
2014/02/24 Javascript
Node.js和PHP根据ip获取地理位置的方法
2014/03/14 Javascript
基于javascript实现单选及多选的向右和向左移动实例
2015/07/25 Javascript
用canvas 实现个图片三角化(LOW POLY)效果
2016/02/18 Javascript
JavaScript判断用户名和密码不能为空的实现代码
2016/05/16 Javascript
JavaScript实现页面跳转的方式汇总
2016/05/16 Javascript
js生成随机数(指定范围)的实例代码
2016/07/10 Javascript
微信小程序 火车票查询实例讲解
2016/10/17 Javascript
vue动态绑定组件子父组件多表单验证功能的实现代码
2018/05/14 Javascript
JS实现中英文混合文字溢出友好截取功能
2018/08/06 Javascript
Webpack 4.x搭建react开发环境的方法步骤
2018/08/15 Javascript
vue-autoui自匹配webapi的UI控件的实现
2020/03/20 Javascript
通过高德地图API获得某条道路上的所有坐标用于描绘道路的方法
2020/08/24 Javascript
详解基于element的区间选择组件校验(交易金额)
2021/01/07 Javascript
简洁的十分钟Python入门教程
2015/04/03 Python
urllib和BeautifulSoup爬取维基百科的词条简单实例
2018/01/17 Python
Python中捕获键盘的方式详解
2019/03/28 Python
Python根据服务获取端口号的方法
2019/09/25 Python
Django实现网页分页功能
2019/10/31 Python
HTML5实现简单图片上传所遇到的问题及解决办法
2016/01/20 HTML / CSS
澳大利亚时尚前卫设计师珠宝在线:Amber Sceats
2017/10/04 全球购物
C#基础面试题
2016/10/17 面试题
大学生个人事迹材料
2014/01/21 职场文书
美发店5.1活动方案
2014/01/24 职场文书
计算机专业毕业生自荐信范文
2014/03/06 职场文书
个人校本研修方案
2014/05/26 职场文书
员工试用期自我鉴定范文
2014/09/15 职场文书
小学国庆节活动方案策划书
2014/09/16 职场文书
教师专业技术工作总结2015
2015/05/13 职场文书
vue实现可以快进后退的跑马灯组件
2022/04/08 Vue.js