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 相关文章推荐
在Django中创建动态视图的教程
Jul 15 Python
python批量制作雷达图的实现方法
Jul 26 Python
Python 类的特殊成员解析
Jun 20 Python
浅谈python写入大量文件的问题
Nov 09 Python
解决python3 Pycharm上连接数据库时报错的问题
Dec 03 Python
Django项目中添加ldap登陆认证功能的实现
Apr 04 Python
Python3+Pycharm+PyQt5环境搭建步骤图文详解
May 29 Python
Python传递参数的多种方式(小结)
Sep 18 Python
在keras中获取某一层上的feature map实例
Jan 24 Python
Python smtp邮件发送模块用法教程
Jun 15 Python
python支持多继承吗
Jun 19 Python
python中复数的共轭复数知识点总结
Dec 06 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 获取当前访问的url文件名的方法小结
2010/02/08 PHP
PHP+jQuery实现自动补全功能源码
2013/05/15 PHP
php发送post请求的三种方法
2014/02/11 PHP
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
2014/06/12 PHP
使用PHP json_decode可能遇到的坑与解决方法
2017/08/03 PHP
让回调函数 showResponse 也带上参数的代码
2007/08/13 Javascript
javascript 有用的脚本函数
2009/05/07 Javascript
jQuery 幻灯片插件(带缩略图功能)
2011/01/24 Javascript
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
2012/01/13 Javascript
jQuery实现表格文本框淡入更改值后淡出效果
2016/09/27 Javascript
实例浅析js的this
2016/12/11 Javascript
NodeJs使用Mysql模块实现事务处理实例
2017/05/31 NodeJs
vue监听对象及对象属性问题
2018/08/20 Javascript
对Vue.js之事件的绑定(v-on: 或者 @ )详解
2018/09/15 Javascript
vue组件实践之可搜索下拉框功能
2018/11/25 Javascript
Vue实现点击按钮复制文本内容的例子
2019/11/09 Javascript
js实现炫酷光感效果
2020/09/05 Javascript
Openlayers实现地图全屏显示
2020/09/28 Javascript
[01:32]DOTA2次级联赛——首支职业女子战队选拔赛全记录
2014/10/23 DOTA
python with statement 进行文件操作指南
2014/08/22 Python
详解Python中pandas的安装操作说明(傻瓜版)
2019/04/08 Python
详解Python用户登录接口的方法
2019/04/17 Python
计算机二级python学习教程(1) 教大家如何学习python
2019/05/16 Python
Python中模块(Module)和包(Package)的区别详解
2019/08/07 Python
Python标准库shutil模块使用方法解析
2020/03/10 Python
Django admin 实现search_fields精确查询实例
2020/03/30 Python
Windows 下更改 jupyterlab 默认启动位置的教程详解
2020/05/18 Python
使用jquery实现HTML5响应式导航菜单教程
2014/04/02 HTML / CSS
详解前端HTML5几种存储方式的总结
2016/12/27 HTML / CSS
Book Depository欧盟:一家领先的国际图书零售商
2019/05/21 全球购物
Dr. Martens马汀博士法国官网:马丁靴鼻祖
2020/01/15 全球购物
自考生毕业自我鉴定
2013/10/10 职场文书
新品发布会主持词
2014/04/02 职场文书
求职信模板
2014/05/23 职场文书
呼啸山庄读书笔记
2015/06/29 职场文书
文艺有韵味的诗句(生命类、亲情类...)
2019/07/11 职场文书