python正则表达式(1)--特殊字符
正则表达式—特殊表达式含义
正则表达式的字母和数字表示他们自身,但多数字母和数字前加一个反斜杠时会拥有不同的含义。
下面列出了正则表达式模式语法中的特殊元素。
1.普通字符集
1) \w 匹配字母数字及下划线
2) \W 匹配非字母数字及下划线
3) \s 匹配任意空白字符,等价于 [\t\n\r\f].
4) \S 匹配任意非空白字符
5) \d 匹配任意数字,等价于 [0-9]
6) \D 匹配任意非数字
7) \1...\9 匹配第n个分组的内容。
8) [a-zA-Z0-9] 匹配任何字母及数字
2.数量字符集
用在字符或分组符(...)之后,默认贪婪匹配,如果想抑制贪婪匹配,需在数量字符后加?,例如:\w+?
1) . 匹配任意字符,除了换行符,当re.DOTALL标记被指定时,可以匹配包括换行符的任意字符
2) * 匹配前一个字符0次1次或多次
3) + 匹配前一个字符1次或多次
4) ? 匹配前一个字符0次或1次
5) {m} 匹配前一个字符m次
6) {m,n} 匹配前一个字符m到n次
7) {m,} 匹配前一个字符至少m次
8) {,n} 匹配前一个字符0到n次,最多n次
3.边界匹配符
1) ^ 匹配字符串开头,如果是多行则匹配每一行的开头
2) [^] 在[...]中,^表示否定,如非字母[^a-zA-Z],非数字[^0-9]
3) $ 匹配字符串或一行的结尾,如果是多行匹配模式,则每一行的结尾
4) \A 仅匹配字符串的开始,同^
5) \b 匹配一个单词的边界,也就是指单词和空格间的位置
6) \B 等价于[^\b]表示匹配非单词边界
7) \Z 匹配字符串结束,如果是存在换行,只匹配到换行前的结束字符串。
8) \z 匹配字符串结束
4.逻辑匹配符
1) |(或)
匹配 | 左右任意一种正则表达式,如果左边表达式匹配上,匹配结束,不再匹配右边的正则表达式,该符号一般放在()中使用,如果没在圆括号中则它的范围是整个正则表达式
2) 分组 (...)
后向引用,用()括起来的正则表达式将被作为一个分组,从正则表达式的左边依次算起,有多少个左括号'(',就有 多少个分组,分组的编码从1依次加1,无论是括号中嵌套括号,并且分组表达式作为一个整体,后可接数量词。
3) \<number>
引用分组匹配到的分组编号为<number>的字符串 如:\1...\9
4) (?P<name>...)
命名分组,除了默认的分组编号外再指定一个别名分组
注意:P是大写
5) (?P=name)
引用别名为name的分组匹配,这个是在正则表达式中引用,表示匹配重复的字符串,也可以使用编号引用。
注意:P是大写
5.特殊匹配符
1) (?imx) 正则表达式包含三种可选标志:i, m, 或 x 。只影响括号中的区域。
2) (?-imx) 正则表达式关闭 i, m, 或 x 可选标志。只影响括号中的区域。
3) (?:...) 匹配到的括号内字符串不作为分组
4) (?!pattern) 前向否定断言语法,表示否定开头
只能用在正则表达式的开头,pattern是匹配模式,它后面的内容需要不匹配 该正则表达式才匹配成功
5) (?<!pattern) 后向否定断言语法,表示否定结尾
前面的内容需要不匹配该pattern模式才匹配成功
6) (?=pattern) 前向肯定断言语法.
需要匹配pattren模式才能匹配成功,表示肯定前面的字符内容
7) (?<=pattern) 后向肯定断言语法
需要匹配pattern模式才能匹配成功,表示肯定后面的字符内容
8) (?#...) #后面的内容将被作为注释而忽略
python正则表达式(1)--特殊字符的更多相关文章
- Python正则表达式初识(二)
前几天给大家分享了Python正则表达式初识(一),介绍了正则表达式中的三个特殊字符“^”.“.”和“*”,感兴趣的伙伴可以戳进去看看,今天小编继续给大家分享Python正则表达式相关特殊字符知识点. ...
- Python 正则表达式入门(中级篇)
Python 正则表达式入门(中级篇) 初级篇链接:http://www.cnblogs.com/chuxiuhong/p/5885073.html 上一篇我们说在这一篇里,我们会介绍子表达式,向前向 ...
- 比较详细Python正则表达式操作指南(re使用)
比较详细Python正则表达式操作指南(re使用) Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式.Python 1.5之前版本则是通过 regex 模块提供 E ...
- Python天天美味(15) - Python正则表达式操作指南(re使用)(转)
http://www.cnblogs.com/coderzh/archive/2008/05/06/1185755.html 简介 Python 自1.5版本起增加了re 模块,它提供 Perl 风格 ...
- python 正则表达式汇总
一. 正则表达式基础 1.1.概念介绍 正则表达式是用于处理字符串的强大工具,它并不是Python的一部分. 其他编程语言中也有正则表达式的概念,区别只在于不同的编程语言实现支持的语法数量不同. 它拥 ...
- 一篇搞定Python正则表达式
1. 正则表达式语法 1.1 字符与字符类 1 特殊字符:\.^$?+*{}[]()| 以上特殊字符要想使用字面值,必须使用\进行转义 2 字符类 1. 包含在[]中的一个或者多个字符被称为字符 ...
- python正则表达式re模块详细介绍
转自:http://www.jb51.net/article/50511.htm 本模块提供了和Perl里的正则表达式类似的功能,不关是正则表达式本身还是被搜索的字符串,都可以是Unicode字符,这 ...
- Python 正则表达式 (python网络爬虫)
昨天 2018 年 01 月 31 日,农历腊月十五日.20:00 左右,152 年一遇的月全食.血月.蓝月将今晚呈现空中,虽然没有看到蓝月亮,血月.月全食也是勉强可以了,还是可以想像一下一瓶蓝月亮洗 ...
- Python正则表达式很难?一篇文章搞定他,不是我吹!
1. 正则表达式语法 1.1 字符与字符类 1 特殊字符:.^$?+*{}| 以上特殊字符要想使用字面值,必须使用进行转义 2 字符类 1. 包含在[]中的一个或者多个字符被称为字符类,字符类在匹配时 ...
随机推荐
- 从ArcGIS连接Oracle数据库,并将Oracle数据库注册到ArcGIS Server
环境说明 客户端机器环境: ① Win7 SP1 64位 ② ArcGIS Desktop 10.2 32位 ③ ArcGIS Server 10.2 64位 服务器环境 ① Windows Serv ...
- 开启和安装Kubernetes k8s 基于Docker For Windows
0.最近发现,Docker For Windows Stable在Enable Kubernetes这个问题上是有Bug的,建议切换到Edge版本,并且采用下文AliyunContainerServi ...
- 【视频开发】ONVIF客户端搜索设备获取rtsp地址开发笔记(精华篇)
转载地址:http://blog.csdn.net/gubenpeiyuan/article/details/25618177 概要: 目前ONVIF协议家族设备已占据数字监控行业 ...
- 编程语言与python介绍
目录 一.编程语言的发展史 1.1 机器语言 1.2 汇编语言 1.3 高级语言 1.3.1 编译型 1.3.2 解释型 1.4 总结 2.python介绍 2.1 python解释器版 2.2 运行 ...
- MySQL单机优化---分表、分区、分库
一.分表: 水平分表:根据条件把数据分为N个表(例如:商品表中有月份列,则可以按月份进行水平分表). 使用场景:一张表中数据太多,查询效率太慢. 当需要同时查询被水平分表的多张表时: 在两条SQL语句 ...
- C++ STL学习总结
1.vector //最好给它一个初始化大小 #include <iostream> #include <vector> using namespace std; int ma ...
- Python之路【第二十三篇】:数据库基础
数据库的简介 数据库 数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合.数据库中的数据按一定的数学模型组织.描述和存储,具有较小的冗余,较高的数据独立性和易扩展性, ...
- jquery加载数据时显示loading加载动画特效
插件下载:http://www.htmleaf.com/jQuery/Layout-Interface/201505061788.html 插件使用: 使用该loading加载插件首先要引入jQuer ...
- [UOJ #393]【NOI2018】归程
题目大意:有一张$n$个点$m$条边的图,每个边有两个属性$a_i,b_i$.有$Q$个询问,每个询问给出$v,p$,表示所有边中$b_i\leqslant p$的边会被标记,在点$v$,可以通过不被 ...
- git学习笔记 ---添加远程库
现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举 ...