0

文字列(着信SMSメッセージ)で価格値を見つけたい。私はJava正規表現を使用しています:

Pattern pattern = Pattern.compile("\\d+.\\d\\d");/

しかし、この式は日付も見つけます。たとえば、を12.12.2013返します12.12。価格の価値だけを見つける方法があれば?文字列が長くないため、正規表現を使用していない可能性があります。

EDITED メッセージの例:

Oplata tovariv: S1LV0GRU RYKAVUCHKA 510, UA 02.04.2013 21:12 kartka 1111111111 na sumu 24.72UAH . Dostupnyi zalyshok 1351.58UAH.

4

2 に答える 2

3

価格の一般的な形式が xxxx.xx の場合は、次を使用できます。

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

少なくとも日付は一致しません。
(ポイントをエスケープすることを忘れないでください。ワイルドカードではありません)

于 2013-04-05T13:47:57.050 に答える
1
Pattern pattern = Pattern.compile(" \\d+\\.\\d\\d ");

これは、価格の前後のスペースを探します。

于 2013-04-05T13:49:42.013 に答える