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 THREADING模块中的JOIN()方法深入理解
Feb 18 Python
Python挑选文件夹里宽大于300图片的方法
Mar 05 Python
python利用标准库如何获取本地IP示例详解
Nov 01 Python
python去掉空白行的多种实现代码
Mar 19 Python
PyQt5每天必学之像素图控件QPixmap
Apr 19 Python
使用实现XlsxWriter创建Excel文件并编辑
May 04 Python
Python使用tkinter库实现文本显示用户输入功能示例
May 30 Python
使用Python paramiko模块利用多线程实现ssh并发执行操作
Dec 05 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
Dec 31 Python
keras的load_model实现加载含有参数的自定义模型
Jun 22 Python
Python matplotlib模块及柱状图用法解析
Aug 10 Python
使用python求解迷宫问题的三种实现方法
Mar 17 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随机数 C扩展随机数
2016/05/04 PHP
php rmdir使用递归函数删除非空目录实例详解
2016/10/20 PHP
简单实现PHP留言板功能
2016/12/21 PHP
PHP中define() 与 const定义常量的区别详解
2019/06/25 PHP
php实现的生成排列算法示例
2019/07/25 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
2021/03/09 PHP
javascript 获取select下拉列表值的代码
2009/09/07 Javascript
jquery 圆形旋转图片滚动切换效果
2011/01/19 Javascript
js封装可使用的构造函数继承用法分析
2015/01/28 Javascript
AngularJS内置指令
2015/02/04 Javascript
浅谈jQuery.easyui的datebox格式化时间
2015/06/25 Javascript
BootStrap iCheck插件全选与获取value值的解决方法
2016/08/24 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
2016/09/13 Javascript
js实现不提示直接关闭网页窗口
2017/03/30 Javascript
node.js自动上传ftp的脚本分享
2018/06/16 Javascript
vue路由事件beforeRouteLeave及组件内定时器的清除方法
2018/09/29 Javascript
微信小程序Page中data数据操作和函数调用方法
2019/05/08 Javascript
浅谈bootstrap layer.open中end的使用方法
2019/09/12 Javascript
python分割文件的常用方法
2014/11/01 Python
python动态加载包的方法小结
2016/04/18 Python
对python 匹配字符串开头和结尾的方法详解
2018/10/27 Python
pytorch中使用cuda扩展的实现示例
2020/02/12 Python
python列表的逆序遍历实现
2020/04/20 Python
opencv 图像礼帽和图像黑帽的实现
2020/07/07 Python
h5实现获取用户地理定位的实例代码
2017/07/17 HTML / CSS
HTML5 SEO优化的一些建议
2020/08/27 HTML / CSS
村官工作鉴定评语
2014/01/27 职场文书
《十六年前的回忆》教学反思
2014/02/14 职场文书
高三学生评语大全
2014/04/25 职场文书
人事专员岗位说明书
2014/07/29 职场文书
社区务虚会发言材料
2014/10/20 职场文书
2015新生加入学生会自荐书
2015/03/24 职场文书
民主生活会意见
2015/06/05 职场文书
2016年社区综治宣传月活动总结
2016/03/16 职场文书
如何用vue实现网页截图你知道吗
2021/11/17 Vue.js
动漫APP软件排行榜前十名,半次元上榜,第一款由腾讯公司推出
2022/03/18 杂记