正则表达式—特殊表达式含义

正则表达式的字母和数字表示他们自身,但多数字母和数字前加一个反斜杠时会拥有不同的含义。

下面列出了正则表达式模式语法中的特殊元素。

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)--特殊字符的更多相关文章

  1. Python正则表达式初识(二)

    前几天给大家分享了Python正则表达式初识(一),介绍了正则表达式中的三个特殊字符“^”.“.”和“*”,感兴趣的伙伴可以戳进去看看,今天小编继续给大家分享Python正则表达式相关特殊字符知识点. ...

  2. Python 正则表达式入门(中级篇)

    Python 正则表达式入门(中级篇) 初级篇链接:http://www.cnblogs.com/chuxiuhong/p/5885073.html 上一篇我们说在这一篇里,我们会介绍子表达式,向前向 ...

  3. 比较详细Python正则表达式操作指南(re使用)

    比较详细Python正则表达式操作指南(re使用) Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式.Python 1.5之前版本则是通过 regex 模块提供 E ...

  4. Python天天美味(15) - Python正则表达式操作指南(re使用)(转)

    http://www.cnblogs.com/coderzh/archive/2008/05/06/1185755.html 简介 Python 自1.5版本起增加了re 模块,它提供 Perl 风格 ...

  5. python 正则表达式汇总

    一. 正则表达式基础 1.1.概念介绍 正则表达式是用于处理字符串的强大工具,它并不是Python的一部分. 其他编程语言中也有正则表达式的概念,区别只在于不同的编程语言实现支持的语法数量不同. 它拥 ...

  6. 一篇搞定Python正则表达式

    1. 正则表达式语法 1.1 字符与字符类 1 特殊字符:\.^$?+*{}[]()| 以上特殊字符要想使用字面值,必须使用\进行转义 2 字符类    1. 包含在[]中的一个或者多个字符被称为字符 ...

  7. python正则表达式re模块详细介绍

    转自:http://www.jb51.net/article/50511.htm 本模块提供了和Perl里的正则表达式类似的功能,不关是正则表达式本身还是被搜索的字符串,都可以是Unicode字符,这 ...

  8. Python 正则表达式 (python网络爬虫)

    昨天 2018 年 01 月 31 日,农历腊月十五日.20:00 左右,152 年一遇的月全食.血月.蓝月将今晚呈现空中,虽然没有看到蓝月亮,血月.月全食也是勉强可以了,还是可以想像一下一瓶蓝月亮洗 ...

  9. Python正则表达式很难?一篇文章搞定他,不是我吹!

    1. 正则表达式语法 1.1 字符与字符类 1 特殊字符:.^$?+*{}| 以上特殊字符要想使用字面值,必须使用进行转义 2 字符类 1. 包含在[]中的一个或者多个字符被称为字符类,字符类在匹配时 ...

随机推荐

  1. golang中defer的正确使用方式(源自深入解析go)

    3.4 defer关键字 defer和go一样都是Go语言提供的关键字.defer用于资源的释放,会在函数返回之前进行调用.一般采用如下模式: f,err := os.Open(filename) i ...

  2. [Mobi] cordova requirements,Exception in thread "main" java.lang.NoClassDefFoundError

    Cordova App Preparation https://quasar.dev/quasar-cli/developing-cordova-apps/preparation $ cordova ...

  3. myssl.com SSL 检测

    配置正确了,就正常了. 与证书关系不大.

  4. latex 写大论文图目录中图注过长解决方案

    写论文(尤其是学位论文)的时候,Figure通常都是有很长的注释,而Latex的list of figures似乎不能换行(看到有换行的,不过感觉不够美观). 再说,list of figures里面 ...

  5. pyspider 数据存入Mysql--Python3

    一.不写入Mysql 以爬取哪儿网为例. 以下为脚本: from pyspider.libs.base_handler import * class Handler(BaseHandler): cra ...

  6. CF1063F String Journey DP、SAM、线段树

    传送门 为了方便把串反过来,条件变为\(t_i\)是\(t_{i+1}\)的真子串,答案显然不变. 一件重要的事情是必定存在一种最优解,字符串序列\(\{t\}\)满足\(|t_i| = i\). 考 ...

  7. C# vb .net实现旋转特效滤镜

    在.net中,如何简单快捷地实现Photoshop滤镜组中的旋转特效呢?答案是调用SharpImage!专业图像特效滤镜和合成类库.下面开始演示关键代码,您也可以在文末下载全部源码: 设置授权 第一步 ...

  8. jQuery.Form.js使用方法

    一.jQuery.Form.js 插件的作用是实现Ajax提交表单. 方法: 1.formSerilize() 用于序列化表单中的数据,并将其自动整理成适合AJAX异步请求的URL地址格式. 2.cl ...

  9. MongoDB和Java(4):Spring Data整合MongoDB(XML配置)

    最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...

  10. Java调用Http/Https接口(7,end)--WebClient调用Http/Https接口

    WebClient是Spring提供的非阻塞.响应式的Http客户端,提供同步及异步的API,将会代替RestTemplate及AsyncRestTemplate.文中所使用到的软件版本:Java 1 ...