java查找字符串中的价格值

标签 java android regex

我想查找字符串中的价格值(传入短信)。我正在使用 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/

相关文章:

android - 通过 android 将图像上传到 RESTful web 服务,给出 NoSuchMethodError

javascript - 如何在 JavaScript 中格式化正则表达式

java - FocusLost 在 menuaction 之后调用

java - 必须单击两次才能获取上一个数组元素

Android .xml设计

regex - 正则表达式中的右方括号无法转义?

c# - 多个键的正则表达式 :Value Search Terms

java - 在 Java 中传递的可选匿名参数

java - 如果在远程服务器上工作,我需要 JDBC 驱动程序吗?

java - 我们可以使用 KeyListener 实现 KeyBindings 吗?