python使用re模块操作正则表达式

2017年10月14日 2

一、概述

re 模块是python官方提供的正则表达式模块,一些常用的方法如下:

re.match(pattern, string, pos, endpos)

string中匹配pattern规则,返回一个匹配对象。

re.search(pattern, string, pos, endpos)

string中查找第一个满足规则pattern的字符串,返回一个匹配对象。

re.findall(pattern, string, pos, endpos)

查找所有满足规则pattern的字符串,结果将返回一个元组。

re.finditer(pattern, string, pos, endpos)

查找所有满足条件的字符串,并以匹配对象的形式返回一个元组。

re.sub(pattern, repl, string, count)

string中符合规则的字符都替换成replcount表示替换的数量,默认匹配所有,返回被替换后的字符串。

re.subn(pattern, repl, string, count)

sub函数功能一直,只是subn在返回的同时会带上被替换的字符串数量。

以上所有函数中的posendpos均表示在[pos, endpos)下标范围内匹配,下标索引从0开始,默认省略表示匹配整个字符串。

二、匹配对象<type "_sre.SRE_Match">

re.match()re.search()方法都返回一个匹配对象<type "_sre.SRE_Match">,常用的方法为:

2.1 group()

返回匹配成功的字符串。

2.2 start()和end()

匹配成功后返回匹配到的字符串的开始下标和结束下标。

2.3 span()

以元组的方式返回开始下标和结束下标。

2.4 groups()

返回所有匹配到的分组。

三、示例

3.1 match方法和匹配对象

3.2 search方法

3.3 find_all方法

3.4 finditer方法

3.5 分组

3.6 替换

其中,要替换的字符也可以是一个函数,将会把匹配到的字符串以匹配对象类型为形参调用指定函数:

最后的结果:

Redis小案例(一):实现网站访问频率限制 Redis

Redis小案例(一):实现网站访问频率限制

网站中经常需要用到网站限流,例如限制用户恶意爬虫获取网页信息以及在网站访问流量大时限制访问频率等等,这里使用redis做一个简单的网站登录限制案例。 一、使用EXPIRE进行访问频率限制 逻辑:用户登...
python redis-py模块用法 Python

python redis-py模块用法

一、安装 redis中操作redis的模块为redis-py,使用pip install redis或者easy_install redis安装即可,也可以进去https://pypi.python....
python使用_winreg模块操作注册表 Python

python使用_winreg模块操作注册表

一、基本操作 python中的_winreg模块提供了对于windows平台下注册表的一些基本操作,包括对键值的枚举以及增加删除键等,以`HKEY_CURRENT_USERConsole`为例: Op...
python获取命令行参数 Python

python获取命令行参数

一、概述 python获取命令行参数有两种方法,一种是使用sys模块直接获取到所有的命令行参数,另一种是使用getopt来获取指定标记的参数,后者更灵活一点,但是也复杂一点。 二、sys模块获取参数 ...
匿名

发表评论

匿名网友