热线电话:13121318867

登录
2018-11-27 阅读量: 1177
模块re的内容

如果没有用武之地,知道如何书写正则表达式也没多大意义。模块re包含多个使用正则表达 式的函数,表10-9描述了其中重要的一些。


表10-9 模块 re中一些重要的函数

函 数 描 述

compile(pattern[, flags]) 根据包含正则表达式的字符串创建模式对象

search(pattern, string[, flags]) 在字符串中查找模式

match(pattern, string[, flags]) 在字符串开头匹配模式

split(pattern, string[, maxsplit=0]) 根据模式来分割字符串

findall(pattern, string) 返回一个列表,其中包含字符串中所有与模式匹配的子串

sub(pat, repl, string[, count=0]) 将字符串中与模式pat匹配的子串都替换为

repl escape(string) 对字符串中所有的正则表达式特殊字符都进行转义


函数re.compile将用字符串表示的正则表达式转换为模式对象,以提高匹配效率。调用 search、match等函数时,如果提供的是用字符串表示的正则表达式,都必须在内部将它们转换 为模式对象。通过使用函数compile对正则表达式进行转换后,每次使用它时都无需再进行转换。 模式对象也有搜索/匹配方法,因此re.search(pat, string)(其中pat是一个使用字符串表示的正 则表达式)等价于pat.search(string)(其中pat是使用compile创建的模式对象)。编译后的正则 表达式对象也可用于模块re中的普通函数中。 函数re.search在给定字符串中查找第一个与指定正则表达式匹配的子串。如果找到这样的 子串,将返回MatchObject(结果为真),否则返回None(结果为假)。鉴于返回值的这种特征,可 在条件语句中使用这个函数,如下所示: if re.search(pat, string): print('Found it!') 然而,如果你需要获悉有关匹配的子串的详细信息,可查看返回的MatchObject。

注意 函数match在模式与字符串开头匹配时就返回True,而不要求模式与整个字符串匹配。如 果要求与整个字符串匹配,需要在模式末尾加上一个美元符号。美元符号要求与字符串 末尾匹配,从而将匹配检查延伸到整个字符串。

0.0000
2
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子