python RE库的基本使用

RE库常用的操作符

{n} :扩展前一个字符n次      例:abc{3}表示abccc

{m,n} :扩展起一个字符m至n次  例:ab{2,3}c表示abbc,abbbc

^:匹配一个字符串的开头         例:^abc  表示匹配以abc开头的字符串 

$:匹配一个字符串的结尾            例:abc$ 表示匹配以abc结束的字符串

():分组标记                               例:(abc) 表示abc

\d:表示数字0-9

\w:表示[A-Za-z0-9]

. :表示任何单个字符

[]:字符集,对单个字符给出取值范围     例:[abc] 表示a ,b,c中的一个

|:         选择符                              例: abc|def    表示abc或def的一个

[^]: 非字符集  ,对单个字符给出排除范围   例:[^abc]表示非a,非b,非c中的一个

*:表示前一个字符的0次或无限次扩展     例 :abc*表示 ab,abc,abcc,abccc  abc....

+:表示前一个字符的1次或无限次扩展

?:表示前一个字符的0次或1次扩展


以上常用操作符都要记住


RE库的基本函数

re.search(正则表达式,匹配字符串,控制选项)  在字符串中匹配需要的字符串的首次出现,返回match对象

re.match(正则表达式,匹配字符串,控制选项) 从字符串的开始位置匹配需要的字符串,返回match对象

re.findall(正则表达式,匹配字符串,控制选项) 返回全部能匹配到的字符串,返回列表

re.split(正则表达式,匹配字符串,分割最大数,控制选项)将字符串按照要求匹配,将不匹配的地方返回为列表类型

re.finditer(正则表达式,匹配字符串,控制选项)搜索字符串,返回可迭代的match类型

re.sub(正则表达式,替换字符,匹配字符串,匹配最大次数,控制选项)将匹配到的字符按要求更换为其他字符,并返回替换后的字符串

控制选项:

re.I:忽略正则表达式的大小写区分

re.M:正则表达式中的“^”使匹配从每行的头开始匹配

re.S:使正则表达式的"."能够匹配所有字符,默认的‘.’能匹配除换行符以外的字符

match对象的属性:

match.string 返回待匹配的文本

match.re  返回正则表达式

match.pos  正则表达式开始搜索的位置

match.endpos 正则表达式搜索结束的位置


match对象的方法:

match.group(0):获得匹配后的字符串

match.start(): 匹配字符串在原字符串的开始位置

match.end():匹配字符串子啊原字符串结束的位置

match.span():返回(match.start(),match.end())的元组


RE库的贪婪匹配和最小匹配:

(r'ab.*g','abcgwegwrtg')

如果没有贪婪匹配机制

那么他能匹配的有:abcg,abcgweg,abcgwegertg这三种,所以默认会匹配最长的字符串

如果想让他变成最小匹配只要在需要多次匹配的字符串后面加“”即可


本人也是小白,以上均为我观看嵩天老师的课后笔记,均为个人理解


你可能感兴趣的:(python,python)