我想查找字符串中的价格值(传入短信)。我正在使用 java 正则表达式:
Pattern pattern = Pattern.compile("\\d+.\\d\\d");/
但是这个表达式也找到了日期。例如12.12.2013
返回12.12
。
是否有办法只找到价格值(value)?也许不使用正则表达式,因为字符串不长。
已编辑 消息示例:
Oplata tovariv:S1LV0GRU RYKAVUCCHKA 510,UA 02.04.2013 21:12 kartka 1111111111 na sumu 24.72UAH。 Dostupnyi zalyshok 1351.58UAH。
最佳答案
如果您的价格的一般格式是 xxxx.xx,您可以使用:
"(?<!(?:\\d|\\.))\\d+\\.\\d{2}(?!\\.)"
至少它不会匹配日期。
(不要忘记转义点,这样它就不是通配符)
关于java查找字符串中的价格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15835521/