java在字符串中查找价格值

java在字符串中查找价格值,java,android,regex,Java,Android,Regex,我想找到字符串中的价格值(传入短信)。我正在使用java正则表达式: Pattern=Pattern.compile(“\\d+。\\d\\d”)/ 但是这个表达式也可以找到日期。例如12.12.2013返回12.12。 如果有办法只找到价格价值?可能不使用正则表达式,因为字符串不长 已编辑 消息示例: 奥普拉塔·托瓦里夫:S1LV0GRU RYKAVUCHKA 510,UA 2013年4月2日21:12卡特卡1111111纳苏木24.72UAH。Dostupnyi zalyshok 1351.

我想找到字符串中的价格值(传入短信)。我正在使用java正则表达式:

Pattern=Pattern.compile(“\\d+。\\d\\d”)/

但是这个表达式也可以找到日期。例如
12.12.2013
返回
12.12
。 如果有办法只找到价格价值?可能不使用正则表达式,因为字符串不长

已编辑 消息示例:


奥普拉塔·托瓦里夫:S1LV0GRU RYKAVUCHKA 510,UA 2013年4月2日21:12卡特卡1111111纳苏木24.72UAH。Dostupnyi zalyshok 1351.58UAH.

如果您的价格的一般格式为xxxx.xx,您可以使用:

"(?<!(?:\\d|\\.))\\d+\\.\\d{2}(?!\\.)"

”(?如果您的价格的一般格式是xxxx.xx,您可以使用:

"(?<!(?:\\d|\\.))\\d+\\.\\d{2}(?!\\.)"
(? 这将寻找价格前后的空间


这将在价格前后寻找空格。

您的输入样本是什么?@Achtyajha,我想问同样的问题;)您的输入样本是什么?@Achtyajha,我想问同样的问题;)也会匹配2012.04.05:)也会匹配2012.04.05:)您测试过吗?它返回2.20该死,我在编辑它时犯了一个错误,真的很抱歉,再次编辑…你测试了吗?它返回2.20该死,我在编辑它时出错了,真的很抱歉,再次编辑。。。