2013-07-11 60 views
1

我有一個真正的很難理解正則表達式,但我能夠破解了這份幫我找價格的字符串:/\$(\d*\.?\d+?)/正則表達式的價格,跳過逗號

這工作得相當好,因爲它會匹配諸如$ 1000.00或$ 100或$ 100.00之類的東西 - 我遇到的問題是處理成千上萬的事情。因爲$ 1,000.00只會匹配$ 1。

有沒有辦法跳過逗號,只是繼續下去,直到小數?

回答

7

您可以使用此模式來代替:

\$\d{1,3}(?:,?\d{3})*(?:\.\d{2})? 

注意,我假定你有時間後總是兩位數。如果您需要,您可以輕鬆更改。

+0

你的模式匹配$ 100,.00以及 – gramonov

+0

@gramonov:no :) :) :) :) :) :) :) :) :) :) :) –

+0

nvm你是對的:) – gramonov