我需要在文本文檔中查找價格。我的代碼如下所示:Python重新捕獲每個單詞的一個匹配
sentence = "This is test text $25,000 $25,000$20,000 $30"
pattern = re.compile(ur'[$€£]?\d+([.,]\d+)?', re.UNICODE | re.MULTILINE | re.DOTALL)
print pattern.findall(sentence)
期望的結果是:
['$25,000', '$30']
我並不需要包括$ 25,000 $ 20,000結果becouse這不是我的任務有效的結果。我只需要全字匹配。
,但我得到這個結果:
['$25,000', '$25,000', '$20,000', '$30']
如何重寫我的正則表達式來僅包含由空格或標點符號隔開的價格?
你可以請添加。,:作爲分隔符嗎?價格可以被空白或標點符號(。,:)包圍。例如:「這是測試文本。$ 25,000」需要返回$ 25,000 – twoface88
然後它變得模糊! 「$ 25,000 $ 25,000'會產生'000',因爲它是一個以','開頭的數字序列。 – nneonneo
如果我們從分隔符中刪除「,」會怎麼樣?只要 」。」和「:」 – twoface88