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的Django框架来制作一个RSS阅读器
Jul 22 Python
Python字符串切片操作知识详解
Mar 28 Python
Python使用微信SDK实现的微信支付功能示例
Jun 30 Python
tensorflow学习笔记之简单的神经网络训练和测试
Apr 15 Python
python安装numpy和pandas的方法步骤
May 27 Python
python的pytest框架之命令行参数详解(上)
Jun 27 Python
解析Python3中的Import
Oct 13 Python
python、Matlab求定积分的实现
Nov 20 Python
python实现名片管理器的示例代码
Dec 17 Python
python计算auc的方法
Sep 09 Python
Python包资源下载路径报404解决方案
Nov 05 Python
关于多种方式完美解决Python pip命令下载第三方库的问题
Dec 21 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和ACCESS写聊天室(二)
2006/10/09 PHP
php桌面中心(一) 创建数据库
2007/03/11 PHP
PHP setcookie() cannot modify header information 的解决方法
2009/01/09 PHP
PHP编码转换
2012/11/05 PHP
PHP文件后缀不强制为.php方法
2019/03/31 PHP
JavaScript的目的分析
2007/01/05 Javascript
javascript 日期时间函数(经典+完善+实用)
2009/05/27 Javascript
JSON 入门指南 想了解json的朋友可以看下
2009/08/26 Javascript
JS获取html对象的几种方式介绍
2013/12/05 Javascript
禁止iframe脚本弹出的窗口覆盖了父窗口的方法
2014/09/06 Javascript
jQuery中click事件用法实例
2014/12/26 Javascript
JS实现鼠标点击展开或隐藏表格行的方法
2015/03/03 Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
2015/05/06 Javascript
js实现文本框宽度自适应文本宽度的方法
2015/08/13 Javascript
jquery插件jquery.confirm弹出确认消息
2015/12/22 Javascript
JavaScrpt判断一个数是否是质数的实例代码
2017/06/11 Javascript
AngularJs用户登录问题处理(交互及验证、阻止FQ处理)
2017/10/26 Javascript
arcgis for js栅格图层叠加(Raster Layer)问题
2017/11/22 Javascript
解决node修改后需频繁手动重启的问题
2018/05/13 Javascript
JavaScript实现选项卡效果的分析及步骤
2019/04/16 Javascript
简单了解vue中父子组件如何相互传递值(基础向)
2019/07/12 Javascript
layUI实现列表查询功能
2019/07/27 Javascript
vue+AI智能机器人回复功能实现
2020/07/16 Javascript
Python中使用Beautiful Soup库的超详细教程
2015/04/30 Python
python添加菜单图文讲解
2019/06/04 Python
关于python pycharm中输出的内容不全的解决办法
2020/01/10 Python
如何使用Python自动生成报表并以邮件发送
2020/10/15 Python
美国庭院家具购物网站:AlphaMarts
2019/04/10 全球购物
请用用Java代码写一个堆栈
2012/01/26 面试题
常用UNIX 命令(Linux的常用命令)
2013/07/10 面试题
机械工程师求职自我评价
2013/09/23 职场文书
高等教育专业自荐信范文
2014/03/26 职场文书
大学生村官演讲稿
2014/04/25 职场文书
党员转正大会主持词
2015/07/02 职场文书
关于企业的执行力标语大全
2020/01/06 职场文书
AI:如何训练机器学习的模型
2021/04/16 Python