re = /r'\d+(?<![.,])[,|.]\d{2}(?![.,]\d)'/m
str = ' [\'1,000.45\', \'100.45\', \'7.89 \', \'9769.71.046491.7\', \'123.45\', \'123\', \'1.234\', \'1,2\', \' 10.00\',\'12.09.21\',\'210.00\', \'25.00\', \'238,50\',\'4,34,34\']'
# Print the match result
str.scan(re) do |match|
puts match.to_s
end
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