<dt class="col2">
<p>Rs. 2691.00 </p>
</dt>
從上面的html代碼,我需要使用正則表達式提取價格。我用beautifulSoup進行解析。html標籤提取價格
任何人都可以爲上述提出正則表達式嗎?
<dt class="col2">
<p>Rs. 2691.00 </p>
</dt>
從上面的html代碼,我需要使用正則表達式提取價格。我用beautifulSoup進行解析。html標籤提取價格
任何人都可以爲上述提出正則表達式嗎?
如果你想獲得「2691.00」,然後使用:
(?<=Rs\.)\s*(\d+\.\d{2})
大多數正則表達式引擎不能做*在回顧後,所以使它足夠的動態,如果有更多的沒有失敗我把它留在主要組中的空間超過1個。您可以使用主要匹配並修剪掉多餘的空間或使用捕獲組1. 1
(?<=)
是一種積極的後視。這告訴正則表達式引擎,在主要匹配組之前,必須匹配那裏面的任何東西,但不要將它包含在匹配中。
Rs\.
符合「Rs」。在正則表達式a。角色匹配任何東西,所以你必須轉義它才能讓它只匹配一段時間。
\s
可以匹配空格。
*
匹配0和無窮大。
\d
匹配數字。
+
匹配1和無窮大。與*類似,但必須找到至少1個才能成功匹配。
{2}
意味着它必須找到2之前的任何東西。所以\d{2}
與\d\d
相同。
而且我在圍繞價格匹配創建組時使用括號。這使您可以從整個比賽中提取該組。如果要提取只是「美元」量或只是改變與這可以進一步用於:
((\d+)\.(\d{2}))
然後...我可能有這樣的順序錯了...捕獲組1將包含2691.00
,捕獲組2將包含2691
,並且捕獲組3將包含00
那麼使用'beautifulSoup'有什麼問題? –
只是爲了讓事情變得更加美好和閃亮乾淨 - 您是否試圖從* HTML *中提取價格,或者,您是否試圖從'Rs中提取價格。 2691.00'字符串,你從某個HTML解析器獲得了文本數據?因爲,你可能應該知道:http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 –