码迷,mamicode.com
首页 > 编程语言 > 详细

Python re.search和re.findall的比较

时间:2018-05-31 22:07:24      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:obj   search   IV   分析   类型   find   list   sea   数据   

Python re.search和re.findall的比较:

先分析re.search

import re
s1=hjxxHelloxxrynxxPythonxxplkhjxxHixxrynxxWorldxxplk

f1=re.search(xx(.*?)xx,s1)
print(f1)

f2=re.search(xx(.*?)xx,s1).group(1)
print(f2)

f3=re.search(xx(.*?)xxrynxx(.*?)xx,s1)
print(f3)

f41=re.search(xx(.*?)xxrynxx(.*?)xx,s1).group(1)#这里如果用group(3)则返回no such group,可见re.search寻找第一个满足条件序列
print(f41)

f42=re.search(xx(.*?)xxrynxx(.*?)xxplkhjxx(.*?)xxrynxx(.*?)xx,s1).group(3)
print(f42)
print(end)

输出为:

<_sre.SRE_Match object; span=(2, 11), match=‘xxHelloxx‘>  #数据类型为‘sre.SRE_MATCH’
Hello  #数据类型为‘str’
<_sre.SRE_Match object; span=(2, 24), match=‘xxHelloxxrynxxPythonxx‘>
Hello
Hi
end

 

再来看re.findall:

import re
s1=hjxxHelloxxrynxxPythonxxplkhjxxHixxrynxxWorldxxplk

f1=re.findall(xx(.*?)xx,s1)
print(f1)

f2=re.findall(xx(.*?)xxrynxx(.*?)xx,s1)
print(f2)
print(f2[0])
print(f2[1][0])
print(type(f2))
print(type(f2[0]))
print(type(f2[1][0]))

print(end)

输出为:

[‘Hello‘, ‘Python‘, ‘Hi‘, ‘World‘]
[(‘Hello‘, ‘Python‘), (‘Hi‘, ‘World‘)]
(‘Hello‘, ‘Python‘)
Hi
<class ‘list‘>
<class ‘tuple‘>
<class ‘str‘>
end

Python re.search和re.findall的比较

标签:obj   search   IV   分析   类型   find   list   sea   数据   

原文地址:https://www.cnblogs.com/zhangziyan/p/9118969.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!