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中if __name__ == '__main__'作用解析
Jun 29 Python
在VS Code上搭建Python开发环境的方法
Apr 06 Python
python2和python3的输入和输出区别介绍
Nov 20 Python
Python实现操纵控制windows注册表的方法分析
May 24 Python
Python 窗体(tkinter)按钮 位置实例
Jun 13 Python
python2.7实现复制大量文件及文件夹资料
Aug 31 Python
Python chardet库识别编码原理解析
Feb 18 Python
python使用pyecharts库画地图数据可视化的实现
Mar 25 Python
django项目中新增app的2种实现方法
Apr 01 Python
python 字符串格式化的示例
Sep 21 Python
详解Anaconda 的安装教程
Sep 23 Python
解决python绘图使用subplots出现标题重叠的问题
Apr 30 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
2019年中国咖啡业现状与发展趋势
2021/03/04 咖啡文化
Ajax+PHP 边学边练 之二 实例
2009/11/24 PHP
PHP输出英文时间日期的安全方法(RFC 1123格式)
2014/06/13 PHP
php函数mkdir实现递归创建层级目录
2016/10/27 PHP
script标签属性type与language使用选择
2012/12/02 Javascript
js定时器(执行一次、重复执行)
2014/03/07 Javascript
NodeJS和BootStrap分页效果的实现代码
2016/11/07 NodeJs
搭建简单的nodejs http服务器详解
2017/03/09 NodeJs
JavaScript之Map和Set_动力节点Java学院整理
2017/06/29 Javascript
electron + vue项目实现打印小票功能及实现代码
2018/11/25 Javascript
javascript实现对话框功能警告(alert 消息对话框)确认(confirm 消息对话框)
2019/05/07 Javascript
用Vue.js在浏览器中实现裁剪图像功能
2019/06/18 Javascript
浅谈微信小程序列表埋点曝光指南
2019/10/15 Javascript
vue项目打包之开发环境和部署环境的实现
2020/04/23 Javascript
python使用win32com在百度空间插入html元素示例
2014/02/20 Python
Python中条件判断语句的简单使用方法
2015/08/21 Python
在Python中移动目录结构的方法
2016/01/31 Python
Python方法的延迟加载的示例代码
2017/12/18 Python
Python函数装饰器原理与用法详解
2019/08/16 Python
Python网络编程之使用TCP方式传输文件操作示例
2019/11/01 Python
Python 序列化和反序列化库 MarshMallow 的用法实例代码
2020/02/25 Python
Python处理mysql特殊字符的问题
2020/03/02 Python
python 实现倒计时功能(gui界面)
2020/11/11 Python
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
navabi英国:设计师大码女装
2019/06/25 全球购物
澳大利亚家具商店:Freedom
2020/12/17 全球购物
PHP如何调用MYSQL存储过程
2014/05/30 面试题
你所知道的集合类都有哪些?主要方法?
2012/12/31 面试题
C++面试题:关于链表和指针
2013/06/05 面试题
简述进程的启动、终止的方式以及如何进行进程的查看
2013/07/12 面试题
学生会个人自荐书范文
2014/02/12 职场文书
《阳光》教学反思
2014/02/23 职场文书
工作作风整顿个人剖析材料
2014/10/11 职场文书
好媳妇事迹材料
2014/12/24 职场文书
作文批改评语
2014/12/25 职场文书
Python机器学习之基础概述
2021/05/19 Python