python正则匹配

Posted taoyuanming

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python正则匹配相关的知识,希望对你有一定的参考价值。

对比 返回值类型 返回值
re.search 返回一个对象。使用group()获得匹配的值,该值为str类型。 返回第一个成功的匹配
re.findall 返回一个列表。列表中包含所有满足条件的结果。 所匹配的所有子串

 

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

# -*- coding:utf-8 -*-
import re
str_a="name:zhangsan;age:20"
searchResult=re.search("name:(.*?);",str_a)#匹配成功re.search方法返回一个匹配的对象,否则返回None
#获得匹配得结果
#1_包含匹配条件的结果
searchResult_all=searchResult.group()#      name:zhangsan;
#2_如果只想获得匹配上(.*?)
searchResult_part=searchResult.group(1)#    zhangsan

re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。

re.findall在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。

# -*- coding:utf-8 -*-
import re
str_a="name:zhangsan;age:20;name:lisi;"
searchResult=re.findall("name:(.*?);",str_a)#返回一个列表  [‘zhangsan‘, ‘lisi‘]
print (searchResult)

 

以上是关于python正则匹配的主要内容,如果未能解决你的问题,请参考以下文章

python 正则表达式

python基础学习(十三)

python基础学习笔记(十三)

正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性

python 正则表达式 re模块基础

python中的re模块