我有一個包含奇數貨幣值的字符串。該字符串是:用於奇數貨幣值的正則表達式
Daily interest charges #901 $ 17.2789 259.18 190.07/day
奇數值爲$ 17.2789
我想創建一個正則表達式,將得到的是,但沒有一個反向引用。這是我想出了:
(?:\\$\\s*?\\d{0,1,2,3}\\.\\d{0,1,2,3,4}\\s*?/?day)?
不過,這不會編譯。那裏的一切似乎對我來說合理嗎?任何想法可能會有什麼問題嗎?我使用Java
編輯
我已經試過的\\$\\s*\\d*\\.\\d*
m.buettner建議。我把它放在下面的第三組中。這幾乎做到了。這裏是我的全部的正則表達式:
(.*)\s?#(\s?\d{3,4})\s*(?:\$\s*\d*\.\d*)?((?:-|\()?\$?(?:\d{1,3}[ ,]?)*(?:\.\d+)\)?)\s*((?:-|\()?\$?(?:\d{1,3}[ ,]?)*(?:\.\d+)\)?).*
它拉的羣體是:
- 每日利息費用
- 9 259.18
- 190.07
它是gr ouping 3就是這個問題。它包含一個額外的數字,第一9
編輯編輯
大家普遍認爲是造成這一問題的空間,這樣做的:
(?:\$\s*\d*\.\d*\s)?
您的量詞(例如'{0,1,2,3}')看起來不正確,除非這是我不熟悉的一些變體。量詞通常表示爲「{x}」,「{x,}」或「{x,y}」。 – David
你的意思是「奇怪」,如「不能被兩個整除」或「奇怪」? –
哎呀,對不起,我可以看到混亂,我的意思是奇怪的。它有4位精度的小數位。 – user489041