re = /(?<![,\.]\d*?)(?<=\d)(?=(?:\d{3})+(?!,)\b)/m
str = '123
.123456
12.12345
123.12345
1234.1234
7777777
111111.1
65432.123456 65665.66 5544433,777665 4456677
123456789
12345.
12312312312312345.123456789
123,456
12345555666,489
12,345,678.12'
subst = ','
result = str.gsub(re, subst)
# Print the result of the substitution
puts result
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html