2017-05-18 9 views
0

htmlコードの価格を選択する際には助けが必要です。私は映画のタイトルを抽出したので、今私は価格を抽出する必要があります。私はlookaheadの正規表現を使ってみましたが、\ n。*と言ったときにエラーが出ます。"lookbehindの中の量子は固定幅になりません"。私はテキストの最初と2番目の価格が必要です。数行をスキップしてテキストを選択する正規表現

(?<=Hello<\/a>.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*?(\$) 

と::

正規表現私が試してみました

Hello<\/a>.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*\n.*?(\$) 

をしかし、動作しません。

テキスト:

<a class="blue_link" href="http://www.ebgames.com.au/Games/sjbeiub108723">Hello:</a> 
    <div class="hi"> 
     <p>Including <a class="blue_link"> 
<p>Price$<data1>40.00</p> 

Plsのヘルプとあなたに感謝:)

+0

ですあなたの予想される出力 - $ 30.53と$ 27.46' –

+0

HTMLを解析する場合は、HTMLパーサを使用します。 RegExはHTMLパーサーではないため、HTMLの解析には使用しないでください。 詳細については、http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tagsを参照してください。 –

答えて

0

をあなたはDOTALLフラグで、この正規表現を使用することができます。

import re 

r = "The Durrells: Series 2.+\$(\d+\.\d+).+\$(\d+\.\d+)" 

text = ''' <a class="blue_link fn url" href="http://www.fishpond.com.au/Movies/Durrells-Series-2-Keeley-Hawes/5014138609450">The Durrells: Series 2</a> 
    <div class="by"> 
     <p>Starring <a class="blue_link" href="http://www.fishpond.com.au/c/Movies/s/Keeley+Hawes">Keeley Hawes</a>, <a class="blue_link" href="http://www.fishpond.com.au/c/Movies/s/Milo+Parker">Milo Parker</a>, <a class="blue_link" href="http://www.fishpond.com.au/c/Movies/s/Josh+O%27Connor">Josh O'Connor</a>, <a class="blue_link" href="http://www.fishpond.com.au/c/Movies/s/Daisy+Waterstone">Daisy Wat...</a></p> 
     <div class="productSearch-metainfo"> 
DVD (UK), May 2017  </div> 
    </div> 
</div></td> 
        <td align="right" style="vertical-align:top;"><div class="productSearch-price-container"> 
<span class="rrp-label">Elsewhere</span>&nbsp;<s>$30.53</s>&nbsp;&nbsp;<span class="productSpecialPrice"><b>$27.46</b></span>&nbsp;<div style="white-space:nowrap;">&nbsp; &nbsp;<span class="you_save">Save 10%</span>&nbsp;</div><span class="free-shipping">with Free Shipping!</span></div> 
''' 

print(re.findall(r, text, re.DOTALL)) 

出力:

[('30.53', '27.46')] 
+0

ありがとうございます! :) – Kevin

関連する問題