0

私が持っているコードは次のとおりです。

    matches = re.search('(<meta.*?>)', contents, re.DOTALL)
    if matches:
        for group in matches.groups():
            metas.append(group)
    title = re.search('(<title>.*?</title>)', contents, re.DOTALL)
    if title.groups():
        found_title = title.group(1) + '\n'
    else:
        found_title = ''

メタタグとタイトルタグ(小文字)を含むHTMLページで動作しているため、メタタグと空でないタイトルが複数一致することが予想されます。正規表現の前後の括弧を追加または削除しても、違いはないようです。

4

1 に答える 1

2

re.search最初の一致を検索します。re.findallまたはを使用する必要がありますre.finditer

于 2012-11-24T00:50:37.247 に答える