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 相关文章推荐
在java中如何定义一个抽象属性示例详解
Aug 18 Python
使用Python处理Excel表格的简单方法
Jun 07 Python
python自动化生成IOS的图标
Nov 13 Python
wxPython+Matplotlib绘制折线图表
Nov 19 Python
Python之Class&Object用法详解
Dec 25 Python
Python使用py2neo操作图数据库neo4j的方法详解
Jan 13 Python
Python利用FFT进行简单滤波的实现
Feb 26 Python
python 动态绘制爱心的示例
Sep 27 Python
MATLAB 全景图切割及盒图显示的实现步骤
May 14 Python
Python实现列表拼接和去重的三种方式
Jul 02 Python
python​格式化字符串
Apr 20 Python
Python 中面向接口编程
May 20 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
Nginx服务器上安装并配置PHPMyAdmin的教程
2015/08/18 PHP
php实现图片上传并利用ImageMagick生成缩略图
2016/03/14 PHP
php通过文件头判断格式的方法
2016/05/28 PHP
php使用自定义函数实现汉字分割替换功能示例
2017/01/30 PHP
yii2 resetful 授权验证详解
2017/05/18 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
2017/11/12 PHP
php常用字符串查找函数strstr()与strpos()实例分析
2019/06/21 PHP
Laravel开启跨域请求的方法
2019/10/13 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
2019/11/19 PHP
PHP实现长轮询消息实时推送功能代码实例讲解
2021/02/26 PHP
JS对URL字符串进行编码/解码分析
2008/10/25 Javascript
JavaScript时间转换处理函数
2015/04/14 Javascript
jquery带下拉菜单和焦点图代码分享
2015/08/24 Javascript
详解AngularJS Filter(过滤器)用法
2015/12/28 Javascript
AngularJs expression详解及简单示例
2016/09/01 Javascript
详解Node.js利用node-git-server快速搭建git服务器
2017/09/27 Javascript
JS Testing Properties 判断属性是否在对象里的方法
2017/10/01 Javascript
js事件on动态绑定数据,绑定多个事件的方法
2018/09/15 Javascript
基于Vue实现图片在指定区域内移动的思路详解
2018/11/11 Javascript
JavaScript跳出循环的三种方法(break, return, continue)
2019/07/30 Javascript
vue 动态添加class,三个以上的条件做判断方式
2020/11/02 Javascript
[01:28]国服启动器接入蒸汽平台操作流程视频
2021/03/11 DOTA
浅谈Python 集合(set)类型的操作——并交差
2016/06/30 Python
Python实现的堆排序算法原理与用法实例分析
2017/11/22 Python
pandas.dataframe中根据条件获取元素所在的位置方法(索引)
2018/06/07 Python
Python连接Mssql基础教程之Python库pymssql
2018/09/16 Python
如何使用Python 打印各种三角形
2019/06/28 Python
Jupyter notebook无法导入第三方模块的解决方式
2020/04/15 Python
H&M旗下高端女装品牌:& Other Stories
2018/05/07 全球购物
您熟悉ORM(Object-Relation Mapping)吗?请谈谈您所理解的ORM
2016/02/08 面试题
什么是Rollback Segment
2013/04/22 面试题
幼儿园五一活动方案
2014/02/07 职场文书
星级党支部申报材料
2014/05/31 职场文书
公司合作意向书范文
2014/07/30 职场文书
平遥古城导游词
2015/02/03 职场文书
仓库保管员岗位职责
2015/02/09 职场文书