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记录程序运行时间的三种方法
Jul 14 Python
Django中Forms的使用代码解析
Feb 10 Python
python+ffmpeg视频并发直播压力测试
Mar 06 Python
python实现人脸识别经典算法(一) 特征脸法
Mar 13 Python
python爬虫获取小区经纬度以及结构化地址
Dec 30 Python
python基于socket进行端口转发实现后门隐藏的示例
Jul 25 Python
用Cython加速Python到“起飞”(推荐)
Aug 01 Python
Python爬虫爬取电影票房数据及图表展示操作示例
Mar 27 Python
Python TestSuite生成测试报告过程解析
Jul 23 Python
4种非常实用的python内置数据结构
Apr 28 Python
Pandas 数据编码的十种方法
Apr 20 Python
Python时间操作之pytz模块使用详解
Jun 14 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
Cakephp 执行主要流程
2010/03/24 PHP
IIS安装Apache伪静态插件的具体操作图文
2013/07/01 PHP
PHP中使用FFMPEG获取视频缩略图和视频总时长实例
2014/05/04 PHP
php实现的Captcha验证码类实例
2014/09/22 PHP
ThinkPHP分组下自定义标签库实例
2014/11/01 PHP
php根据数据id自动生成编号的实现方法
2016/10/16 PHP
Zend Framework数据库操作技巧总结
2017/02/18 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
2018/05/23 PHP
jquery动态调整div大小使其宽度始终为浏览器宽度
2014/06/06 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
2015/12/04 Javascript
利用AJAX实现WordPress中的文章列表及评论的分页功能
2016/05/17 Javascript
node网页分段渲染详解
2016/09/05 Javascript
JS实现数组按升序及降序排列的方法
2017/04/26 Javascript
es7学习教程之fetch解决异步嵌套问题的方法示例
2017/07/21 Javascript
Node.js 基础教程之全局对象
2017/08/06 Javascript
vue addRoutes实现动态权限路由菜单的示例
2018/05/15 Javascript
详解keep-alive + vuex 让缓存的页面灵活起来
2019/04/19 Javascript
vue-cli history模式实现tomcat部署报404的解决方式
2019/09/06 Javascript
Layer组件多个iframe弹出层打开与关闭及参数传递的方法
2019/09/25 Javascript
javascript解析json格式的数据方法详解
2020/08/07 Javascript
Vue中computed和watch有哪些区别
2020/12/19 Vue.js
Python httplib模块使用实例
2015/04/11 Python
Django中模版的子目录与include标签的使用方法
2015/07/16 Python
详解python项目实战:模拟登陆CSDN
2019/04/04 Python
python利用百度云接口实现车牌识别的示例
2020/02/21 Python
python和go语言的区别是什么
2020/07/20 Python
改变 Python 中线程执行顺序的方法
2020/09/24 Python
python 带时区的日期格式化操作
2020/10/23 Python
CSS3 Media Queries详细介绍和使用实例
2014/05/08 HTML / CSS
澳大利高级泳装品牌:Bondi Born
2018/05/23 全球购物
英国Lookfantastic中文网站:护肤品美妆美发购物(英国直邮)
2020/04/27 全球购物
文明宿舍获奖感言
2014/02/07 职场文书
学校师德承诺书
2014/05/23 职场文书
三月学雷锋活动总结
2014/06/26 职场文书
100句拼搏进取的名言警句,值得一读!
2019/10/07 职场文书
Springboot使用Spring Data JPA实现数据库操作
2021/06/30 Java/Android