re模块的高级用法

Posted

tags:

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

参考技术A 介绍Python中常用的正则表达式处理函数(除re.match函数外,re.match已在上一节介绍过)

扫描整个字符串并返回第一个成功的匹配。

参数描述:

匹配对象方法描述:

示例1 group(num=0):

运行结果:

示例2 groups(): 此时需注意正则里必须要有分组

运行结果:

从上面可知:
1)re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;
2)而re.search匹配整个字符串,直到找到一个匹配。
3)re.match和re.search都没有办法找出符合正则的所有内容;

在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。
注意: findall 匹配所有,而match 和 search 都是匹配一次,。

语法格式为:

参数描述:

示例:

运行结果:

用于替换字符串中的匹配项。

参数:

a)示例 repl为字符串:

运行结果:

b)示例 repl为函数:

运行结果:

方法按照能够匹配的子串将字符串分割后返回列表。

参数

示例:

运行结果:

compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象

参数:

用法示例:

运行结果:

re.finditer函数与re.findall函数的用法一致,唯一不同的是re.findall返回的是一个列表,而re.finditer返回的是一个迭代器对象(具体的迭代器会在后面更新文章)
示例:

运行结果:

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

Python3基础-高级用法

加减法高级用法

requests模块的高级用法

Selenium+python自动化12+日志logging基本用法高级用法

Shell高级用法-----函数(function)

ES6 module的其他高级用法