Выражаем десятичное число с запятой

У меня проблемы с поиском правильного регулярного выражения для десятичных чисел, которые включают разделитель запятых.

Я нашел несколько других вопросов, касающихся этой проблемы в целом, но ни один из ответов не сработал, когда я их проверял

Лучшее, что я получил, это:

[0-9]{1,3}(,([0-9]{3}))*(.[0-9]+)?

2 основные проблемы на данный момент:

1) Он записывает числа с пробелами между ними "3001 1" вместо разделения их на 2 совпадения "3001" "1" - я действительно не вижу, где я позволил пробел в регулярном выражении.

2) У меня есть общая проблема с началом \ окончанием регулярного выражения.

Регулярное выражение должно соответствовать:

3,001
1
32,012,111.2131 

Но нет:

32,012,11.2131
1132,012,111.2131
32,0112,111.2131
32131

Кроме того, я бы хотел, чтобы это соответствовало:

1.(without any number after it)
1,(without any number after it)
as 1

(запятая или точка в конце числа должны быть пропущены).

Большое спасибо! ,

Ответы на вопрос(3)

Ваш ответ на вопрос