我有一个像
这样的python代码 for i in re.finditer('something(.+?)"', html):
我现在试图找出它在循环之前循环的次数......换句话说,数组i的长度。 任何人都可以给我一个替代但类似的代码与我得到循环的长度。
答案 0 :(得分:3)
x = list(re.finditer('something(.+?)"', html))
if len(x)
....
for i in x:
....
findall
不适合替换,因为它返回字符串,而不是匹配对象。
答案 1 :(得分:1)
你不能用re.finditer
做到这一点,因为它返回一个迭代器,它不知道它何时完成(因为它在每次迭代时找到下一个匹配)。 ..,你必须使用re.findall
。
matches = re.findall('something(.+?)"', html)
num_loops = len(matches)
或使用@ thg435的方法,如果你确实需要匹配对象。
答案 2 :(得分:1)
finditer
会在找到结果时返回结果。 finditer
无法告诉您提前循环多少次。
你需要使用别的东西。 re.findall
或可能re.search
获取长度