Regex un número decimal con coma

Estoy teniendo problemas para encontrar la expresión regular correcta para los números decimales que incluyen el separador de coma.

Encontré algunas otras preguntas sobre este tema en general, pero ninguna de las respuestas realmente funcionó cuando las probé

Lo mejor que tengo hasta ahora es:

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

2 principales problemas hasta el momento:

1) Registra números con espacios entre ellos "3001 1" en lugar de dividirlos en 2 coincidencias "3001" "1". Realmente no veo dónde permití espacio en la expresión regular.

2) Tengo un problema general con el comienzo \ final de la expresión regular.

La expresión regular debe coincidir:

3,001
1
32,012,111.2131 

Pero no:

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

Además me gustaría que coincida con:

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

(se debe pasar por alto una coma o un punto al final del número).

¡Muchas gracias! .

Respuestas a la pregunta(3)

Su respuesta a la pregunta