@DaveGarrow

Как сделать регулярное выражение для строки 11.22-+2222.22-+333.22-+44.22?

Строка следующая 11.22-+2222.22-+333.22-+44.22

1) числа до точки могут быть в количестве от 1 до 4.
2) числа после точки могут быть в количестве от 0 до 2. Соотвественно заканчивать точкой тоже нельзя.
3) между числами может быть только + или -. Два знака подряд запрещены.
4) заканчиваться вся строка может только на число.
5) строка может содержать от 1 до 4 чисел. Например (11.22 или 11.22-2222.22 или 11.22+2222.22-333.22 или 11.22-2222.22+333.22-44.22).

У меня получается только нерабочий ужас в виде -
/((^\d*$)|(^\d*\.\d{0,2}$))|(?:((^(\+?|\-?)$)\d*\.\d{0,2}$)|((^(\+?|\-?)$)\d*$))?(?:((^(\+?|\-?)$)\d*\.\d{0,2}$)|((^(\+?|\-?)$)\d*$))/

Подскажите как сделать такую регулярку
  • Вопрос задан
  • 110 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Регулярные выражения
^\d{1,4}(\.\d{1,2})?([+-]\d{1,4}(\.\d{1,2})?){0,3}$
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы