我有一个类似的python代码
for i in re.finditer('something(.+?)"', html):
我现在试图找出在进入那个循环之前它要循环多少次......换句话说,数组 i 的长度。谁能给我一个替代但类似的代码,我得到循环的长度。
x = list(re.finditer('something(.+?)"', html))
if len(x)
....
for i in x:
....
findall
不是一个适当的替代品,因为它返回字符串,而不是匹配对象。
你不能这样做,re.finditer
因为它返回一个迭代器,它不知道它什么时候完成,直到它完成(因为它在每次迭代中找到下一个匹配)......,你必须使用re.findall
.
matches = re.findall('something(.+?)"', html)
num_loops = len(matches)
或者如果您确实需要匹配对象,请使用@thg435 的方法。
finditer
返回找到的结果。没有办法finditer
提前告诉你要循环多少次。
你需要使用别的东西。要么re.findall
或可能re.search
得到长度