re正则模块

Posted l1222514

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了re正则模块相关的知识,希望对你有一定的参考价值。

一. 正则表达式

正则表达式是对字符串操作的?种逻辑公式. 我们?般使?正则表达式对字符串进行匹配和过滤.

使?正则的优缺点:

 优点: 灵活, 功能性强, 逻辑性强.

 缺点: 上?难. ?旦上手, 会爱上这个东?

工具: 各?大?本编辑器?般都有正则匹配功能. 我们也可以去http://tool.chinaz.com/regex/进行在线测试.

正则表达式由普通字符和元字符组成

普通字符:包括大小写字母,数字,在匹配普通字符的时候直接写就可以

元字符:元字符才是正则表达式的灵魂,下面介绍几种主要的.

  1. 字符组--[]  
  2. 简单元字符

. 匹配除换?符以外的任意字符

\w 匹配字母或数字或下划线

\s 匹配任意的空白符

\d 匹配数字

\n 匹配?个换?符

\t 匹配?个制表符

\b 匹配?个单词的结尾

^ 匹配字符串的开始

$ 匹配字符串的结尾

\W 匹配?字?母或数字或下划线

\D 匹配?数字

\S 匹配?空?符

a|b 匹配字符a或字符b

() 匹配括号内的表达式,也表示一个组

[...] 匹配字符组中的字符

[^...] 匹配除了了字符组中字符的所有字符

  1. 量词

* 重复零次或更多次

+ 重复?次或更多次

? 重复零次或?次

n 重复n

n, 重复n次或更多次

n,m 重复nm

  1. 惰性匹配和贪婪匹配

4.1 在量词中的*, +, 都属于贪婪匹配. 就是尽可能多的匹配到结果.

4.2 在使用.*后?面如果加了? 则是尽可能的少匹配. 表?示惰性匹配

4.3 .*?x的特殊含义 找到下?个x为?(重点)

  1. 分组  在正则中使用()进行分组
  2. 转义 比如r’\n’

 

 

.re模块

re模块是python提供的?套关于处理正则表达式的模块.

核心功能有四个:

  1. Findall  查找所有返回list

 

  1. finditer findall差不多,但是返回的是迭代器
  2. search 搜索  一旦匹配到结果直接返回,匹配不到结果,返回None
  3. match 匹配  从头开始匹配,开头没有匹配到就报错

以上是关于re正则模块的主要内容,如果未能解决你的问题,请参考以下文章

python正则模块—re

Python正则表达式—re模块接口

python常用模块之re模块(正则)

复习&正则&re模块

Python--正则表达式,re模块,collections模块,random模块,时间模块

常用模块-正则re