2013-03-11 3 views
-6

Я хочу сделать регулярное выражение для денег, которое может подтвердить сумму с помощью Запястья, принятые десятичные знаки, отрицательные знаки или круглые скобки, знак доллара, десятичные знаки, только числовые.Java Регулярное выражение для денег

Я использовал следующее выражение

((\\$?(([0-9]{0,1})?\\.[0-9]{1,2}))|(\\$?([1-9]{1}[0-9]{0,2}([,][0-9]{3})*)(\\.[0-9]{1,2})?)) 

Он отлично работает за $ 23000 и т.д., но, как обращаться с отрицательным знаком или круглые скобки

Пожалуйста совет.

+7

Try, пост, и мы дадим вам предложение, вы не можете отказаться. – Maroun

+2

Удивительно, что я потерял так много репутации, задав вопрос :) это действительно депонирует доверие пользователя к такой системе ... – 2013-03-11 09:22:47

+0

@deadlock Я сделал это, его не работало. – 2013-03-11 09:28:08

ответ

3

Валюта Сумма США & ЕС (центов дополнительно) Можно использовать в американском стиле 123,456.78 обозначения и европейского стиля 123.456,78 обозначения. Дополнительные разделители тысяч; опциональной двузначной фракция

Match; JGsoft: 
^[+-]?[0-9]{1,3}(?:[0-9]*(?:[.,][0-9]{2})?|(?:,[0-9]{3})*(?:\.[0-9]{2})?|(?:\.[0-9]{3})*(?:,[0-9]{2})?)$ 

Ссылка: here

+0

Что? Это несколько суперрежимов. Бьюсь об заклад, только инопланетяне могут это прочитать. – vikingsteve

+1

@vikingsteve, почему? Это только базовый материал в этом регулярном выражении, не используется расширенная функция регулярного выражения. – stema

Смежные вопросы