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中字典映射类型的学习教程
Aug 20 Python
Django数据库操作的实例(增删改查)
Sep 04 Python
对python 生成拼接xml报文的示例详解
Dec 28 Python
Python构建图像分类识别器的方法
Jan 12 Python
对python For 循环的三种遍历方式解析
Feb 01 Python
Tensorflow 多线程与多进程数据加载实例
Feb 05 Python
matlab中imadjust函数的作用及应用举例
Feb 27 Python
在tensorflow下利用plt画论文中loss,acc等曲线图实例
Jun 15 Python
python 用struct模块解决黏包问题
Nov 07 Python
python中xlutils库用法浅析
Dec 29 Python
matplotlib更改窗口图标的方法示例
Feb 03 Python
python实现经典排序算法的示例代码
Feb 07 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
PHP原理之异常机制深入分析
2010/08/08 PHP
利用php实现一周之内自动登录存储机制(cookie、session、localStorage)
2016/10/31 PHP
php获取ip及网址的简单方法(必看)
2017/04/01 PHP
thinkphp3.2实现在线留言提交验证码功能
2017/07/19 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
Ajax+PHP实现的模拟进度条功能示例
2019/02/11 PHP
jQuery的运行机制和设计理念分析
2011/04/05 Javascript
解析JavaScript中的不可见数据类型
2013/12/02 Javascript
JS中Date日期函数中的参数使用介绍
2014/01/02 Javascript
PHP配置文件php.ini中打开错误报告的设置方法
2015/01/09 PHP
JavaScript通过setTimeout实时显示当前时间的方法
2015/04/16 Javascript
js实现三张图(文)片一起切换的banner焦点图
2015/08/25 Javascript
详解如何将angular-ui的图片轮播组件封装成一个指令
2017/05/09 Javascript
JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能示例
2018/07/31 Javascript
JavaScript折半查找(二分查找)算法原理与实现方法示例
2018/08/06 Javascript
Vue.js实现可编辑的表格
2019/12/11 Javascript
vue中js判断长时间不操作界面自动退出登录(推荐)
2020/01/22 Javascript
鸿蒙系统中的 JS 开发框架
2020/09/18 Javascript
[44:21]Ti4 循环赛第四日 附加赛NEWBEE vs LGD
2014/07/13 DOTA
[42:04]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第一局
2016/03/03 DOTA
[03:05]《我与DAC》之xiao8:DAC与BG
2018/03/27 DOTA
利用soaplib搭建webservice详细步骤和实例代码
2013/11/20 Python
用Python进行一些简单的自然语言处理的教程
2015/03/31 Python
Python的ORM框架中SQLAlchemy库的查询操作的教程
2015/04/25 Python
python 定时任务去检测服务器端口是否通的实例
2019/01/26 Python
django有外键关系的两张表如何相互查找
2020/02/10 Python
利用Python如何实时检测自身内存占用
2020/05/09 Python
请用用Java代码写一个堆栈
2012/01/26 面试题
介绍一下RMI的基本概念
2016/12/17 面试题
竞选班干部演讲稿300字
2014/08/20 职场文书
运动会演讲稿300字
2014/08/25 职场文书
广告业务员岗位职责
2015/02/13 职场文书
高校自主招生校长推荐信
2015/03/23 职场文书
《检阅》教学反思
2016/02/22 职场文书
施工安全责任协议书
2016/03/23 职场文书
Java设计模式之享元模式示例详解
2022/03/03 Java/Android