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 实现文件的递归拷贝实现代码
Aug 02 Python
python分割和拼接字符串
Nov 01 Python
Python结巴中文分词工具使用过程中遇到的问题及解决方法
Apr 15 Python
Python读取指定目录下指定后缀文件并保存为docx
Apr 23 Python
Python实现感知机(PLA)算法
Dec 20 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
Apr 25 Python
python3 pillow模块实现简单验证码
Oct 31 Python
python 解决flask uwsgi 获取不到全局变量的问题
Dec 22 Python
Django用数据库表反向生成models类知识点详解
Mar 25 Python
Python HTMLTestRunner库安装过程解析
May 25 Python
Django xadmin安装及使用详解
Oct 26 Python
详解如何修改jupyter notebook的默认目录和默认浏览器
Jan 24 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 Switch 语句之学习笔记
2013/09/21 PHP
php中{}大括号是什么意思
2013/12/01 PHP
php实现的双向队列类实例
2014/09/24 PHP
ThinkPHP框架安全实现分析
2016/03/14 PHP
ThinkPHP5.0多个文件上传后找不到临时文件的修改方法
2018/07/30 PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
2019/05/06 PHP
PHP函数用法详解【初始化、嵌套、内置函数等】
2020/06/02 PHP
jQuery html()等方法介绍
2009/11/18 Javascript
jquery构造器的实现代码小结
2011/05/16 Javascript
在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
2011/06/02 Javascript
Javascript学习笔记 delete运算符
2011/09/13 Javascript
jQuery LigerUI 使用教程入门篇
2012/01/18 Javascript
解决css和js的{}与smarty定界符冲突问题的两种方法
2013/09/10 Javascript
js实现文章文字大小字号功能完整实例
2014/11/01 Javascript
JavaScript获取URL汇总
2015/06/08 Javascript
极易被忽视的javascript面试题七问七答
2016/02/15 Javascript
jQuery Mobile开发中日期插件Mobiscroll使用说明
2016/03/02 Javascript
Knockoutjs 学习系列(二)花式捆绑
2016/06/07 Javascript
Javascript中click与blur事件的顺序详析
2017/04/25 Javascript
微信小程序 获取session_key和openid的实例
2017/08/17 Javascript
jQuery实现的回车触发按钮事件功能示例
2018/03/25 jQuery
nodejs和react实现即时通讯简易聊天室功能
2019/08/21 NodeJs
使用 Python 实现微信公众号粉丝迁移流程
2018/01/03 Python
opencv python如何实现图像二值化
2020/02/03 Python
处理textarea中的换行和空格
2019/12/12 HTML / CSS
马来西亚最好的婴儿商店:Motherhood
2017/09/14 全球购物
如何执行一个shell程序
2012/11/23 面试题
学前教育毕业生自荐信
2013/10/29 职场文书
研发工程师的岗位职责
2013/11/18 职场文书
演讲稿祖国在我心中
2014/05/04 职场文书
预防煤气中毒方案
2014/06/16 职场文书
师德师风剖析材料
2014/09/30 职场文书
2014年银行员工工作总结
2014/11/12 职场文书
HTML+JS实现在线朗读器
2022/02/15 Javascript
python3 字符串str和bytes相互转换
2022/03/23 Python
PostgreSQL之连接失败的问题及解决
2023/05/08 PostgreSQL