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 yield 小结和实例
Apr 25 Python
python写入xml文件的方法
May 08 Python
Python(TensorFlow框架)实现手写数字识别系统的方法
May 29 Python
Python实现的多叉树寻找最短路径算法示例
Jul 30 Python
Python中的heapq模块源码详析
Jan 08 Python
解决Python 命令行执行脚本时,提示导入的包找不到的问题
Jan 19 Python
windows安装TensorFlow和Keras遇到的问题及其解决方法
Jul 10 Python
python tkinter实现彩球碰撞屏保
Jul 30 Python
numpy ndarray 取出满足特定条件的某些行实例
Dec 05 Python
python3实现无权最短路径的方法
May 12 Python
pytorch中的model=model.to(device)使用说明
May 24 Python
Pytorch中Softmax与LogSigmoid的对比分析
Jun 05 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
全国FM电台频率大全 - 9 上海市
2020/03/11 无线电
PHP chmod 函数与批量修改文件目录权限
2010/05/10 PHP
PHP strncasecmp字符串比较的小技巧
2011/01/04 PHP
php中str_pad()函数用法分析
2017/03/28 PHP
PHP SESSION跨页面传递失败解决方案
2020/12/11 PHP
javascript读取xml
2006/11/04 Javascript
[HTML/CSS/Javascript]WWTJS
2007/09/25 Javascript
JavaScript入门学习书籍推荐
2008/06/12 Javascript
jQuery 行背景颜色的交替显示(隔行变色)实现代码
2009/12/13 Javascript
Javascript中Eval函数的使用
2010/03/23 Javascript
php+js实现倒计时功能
2014/06/02 Javascript
jQuery 处理页面的事件详解
2015/01/20 Javascript
在Linux系统中搭建Node.js开发环境的简单步骤讲解
2016/01/26 Javascript
20分钟打造属于你的Bootstrap站点
2016/07/27 Javascript
Node.js 日志处理模块log4js
2016/08/28 Javascript
Vue2 配置 Axios api 接口调用文件的方法
2017/11/13 Javascript
ES6下子组件调用父组件的方法(推荐)
2018/02/23 Javascript
vue单页面在微信下只能分享落地页的解决方案
2019/04/15 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
2019/11/21 Javascript
vue实现路由不变的情况下,刷新页面操作示例
2020/02/02 Javascript
在Vue中使用CSS3实现内容无缝滚动的示例代码
2020/11/27 Vue.js
[16:14]教你分分钟做大人:米拉娜(HEROS)
2014/11/24 DOTA
[10:54]Team Spirit vs Navi
2018/06/07 DOTA
Python的Tornado框架的异步任务与AsyncHTTPClient
2016/06/27 Python
不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决
2017/09/24 Python
Python 实现字符串中指定位置插入一个字符
2018/05/02 Python
Python用for循环实现九九乘法表
2018/05/31 Python
带你认识Django
2019/01/15 Python
html5将图片转换成base64的实例代码
2016/09/21 HTML / CSS
十佳大学生村官事迹
2014/01/09 职场文书
风险评估实施方案
2014/03/09 职场文书
四风问题个人对照检查剖析材料
2014/09/27 职场文书
第二批党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
教师病假条范文
2015/08/17 职场文书
小学六一儿童节活动开幕词
2016/03/04 职场文书
Python 使用dict实现switch的操作
2021/04/07 Python