Regex для (см. Вопрос)? - PullRequest
1 голос
/ 20 июля 2010

Вот простой :) на REGEX

У меня есть это регулярное выражение

"^\\$?(\\d{1,3},?(\\d{3},?)*\\d{3}(\\.\\d{2})?|\\d{1,3}(\\.\\d{2})?|\\.\\d{2}?)$"

, который работает {100, 100, 100,15, 1000, 1000,15} и т. Д. ...

Я хочу простое регулярное выражение, которое работает с такими числами, как: {100, 100.15}, и на этом все - без запятых и хреновых символов валюты ...

Спасибо

Вуду

Ответы [ 2 ]

2 голосов
/ 20 июля 2010
^(\d+(\.\d{2})?|\.\d{2})$
  • \d+ одна или несколько цифр
  • (\.\d{2})? необязательная десятичная часть
  • | или
  • (\.\d{2}) или только десятичная часть

Если вы сделаете целую часть \d*, регулярное выражение будет соответствовать пустой строке.

Если вы можете использовать функцию «смотреть вперед», вы можете использовать ее, чтобы убедиться, что строка не пуста.

^(?=.)\d*(\.\d{2})?$
0 голосов
/ 20 июля 2010

Вы можете попробовать следующее:

"^\d+(\.\d{1,2})?$"

Это будет соответствовать числу, за которым следует необязательный десятичный знак и 1 или два десятичных знака.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...