正则表达式介绍
正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。 正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。简而言之就是用于匹配字符串的一种语法。在python中我们使用到re 库来帮助我们操作正则表达式。
语法
完整的正则表达式由两种字符构成:特殊字符(元字符)和普通字符。 普通字符:直接用于匹配字符串的字符 元字符:不是直接匹配,存在特殊的含义
贪婪模式与非贪婪模式
贪婪模式:"*" “+” “?” 都是贪婪,它们想尽可能更多的匹配内容 非贪婪模式:如果在正则表达式之后加"?",表示尽可能少的匹配内容
多行模式
python中默认是单行模式,多行模式的切换用re.M
匹配分组
用正则表达式匹配到的内容可进行分组选择,将需要的分组的内容用英文括号()进行分组。 当有多个分组时我们可以用(?<分组名>…)的形式给分组命名。
re模块
在python中使用re 内置模块来使用正则表达式,re 模块有许多函数来供我们使用。 compile(pattern[,flags]) :创建正则表达式对象 match(pattern,string[,flags]) findall(pattern,string[,flags]) :返回字符串中模式的所有匹配项组成的列表 split((pattern,string[,maxsplit=0]) :根据模式匹配项分割字符串 sub(pattern, repl, string, count=0, flags=0) :将字符串中所有pattern的匹配项用repl替换 escape(string) :将字符串中所有特殊正则表达式字符进行转义 re.I :忽略大小写 re.L re.M :多行匹配模式
compile创建正则表达式对象
re 库允许创建一个正则表达式对象来调用re 库中的方法,可以利用compile(pattern[,flags]) pattern是正则表达式,flags是一个可选参数,它的作用是忽略大小或者多行模式的切换等
import re
P = re.compile(r'',re.M)
Findall多处匹配项
findall(pattern,string[,flags]) :返回字符串中模式的所有匹配项组成的列表
split切割字符串
re库中所用的切割字符串函数是re.split(pattern,string[,maxsplit=0]) pattern:匹配的正则表达式; string:匹配的字符串; maxsplit:分割次数。
sub字符串替换
将正则表达式所匹配到的字符串进行替换: re.sub(pattern, repl, string, count=0, flags=0) pattern : 正则中的模式字符串。 repl : 替换的字符串,也可为一个函数。 string : 要被查找替换的原始字符串。 count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。
|