私は次のような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
さを取得する