こんにちは私は正規表現を持っています
<a href="(.+?)" class="nextpostslink">
この正規表現は、次のhtmlで正常に機能します
'>
<span class='pages'>Page 1 of 12</span><span class='current'>1</span><a href='http://cinemassacre.com/category/avgn/page/2/' class='page larger'>2</a><a href='http://cinemassacre.com/category/avgn/page/3/' class='page larger'>3</a><a href='http://cinemassacre.com/category/avgn/page/4/' class='page larger'>4</a><a href='http://cinemassacre.com/category/avgn/page/5/' class='page larger'>5</a><a href="http://cinemassacre.com/category/avgn/page/2/" class="nextpostslink">»</a><span class='extend'>...</span><a href='http://cinemassacre.com/category/avgn/page/12/' class='last'>Last »</a>
</div> </div>
私が抽出しようとしている部分は、次のページのURLです。
<a href="http://cinemassacre.com/category/avgn/page/2/" class="nextpostslink">
しかし、この正規表現をHTMLのこのブロックで実行すると
'>
<span class='pages'>Page 2 of 12</span><a href="http://cinemassacre.com/category/avgn/" class="previouspostslink">«</a><a href='http://cinemassacre.com/category/avgn/' class='page smaller'>1</a><span class='current'>2</span><a href='http://cinemassacre.com/category/avgn/page/3/' class='page larger'>3</a><a href='http://cinemassacre.com/category/avgn/page/4/' class='page larger'>4</a><a href='http://cinemassacre.com/category/avgn/page/5/' class='page larger'>5</a><a href="http://cinemassacre.com/category/avgn/page/3/" class="nextpostslink">»</a><span class='extend'>...</span><a href='http://cinemassacre.com/category/avgn/page/12/' class='last'>Last »</a>
</div>
</div>
<a href="
それは最初から
すべてを抽出します" class="nextpostslink">
なぜこれが起こるのですか?(。+?)は欲張りではないと思ったので、最小限の量を抽出する必要があります。
私が<a href="http://cinemassacre.com/category/avgn/page/3/" class="nextpostslink">
使用している完全なPythonコードは
match=re.compile('<a href="(.+?)" class="nextpostslink">', re.DOTALL).findall(pagenav)