我有一个包含奇数价值的字符串。字符串是:
Daily interest charges #901 $ 17.2789 259.18 190.07/day
奇数值是$ 17.2789
我正在尝试创建一个正则表达式,它将得到 is,但没有反向引用。这就是我想出的:
(?:\\$\\s*?\\d{0,1,2,3}\\.\\d{0,1,2,3,4}\\s*?/?day)?
然而,这不会编译。里面的一切对我来说似乎都是合理的?知道它可能有什么问题吗?我正在使用 Java
编辑
我已经尝试过 m.buettner 的建议\\$\\s*\\d*\\.\\d*
。我把它放在下面的第三组中。这几乎可以做到。这是我的完整正则表达式:
(.*)\s?#(\s?\d{3,4})\s*(?:\$\s*\d*\.\d*)?((?:-|\()?\$?(?:\d{1,3}[ ,]?)*(?:\.\d+)\)?)\s*((?:-|\()?\$?(?:\d{1,3}[ ,]?)*(?:\.\d+)\)?).*
它拉的组是:
- 每日利息费用
- 901
- 9 259.18
- 190.07
问题在于第 3 组。它包含一个额外的数字,第一个9
编辑 编辑
有一个空间导致了这个问题,它做到了:
(?:\$\s*\d*\.\d*\s)?