re = /\d*[.,]?\d+\s*(?:k?g|l)\b|\b(?:k?g|l)\s*\d*[.,]?\d+/mi
str = 'ABC 200g EFG 5,4 Kg HIL 2x20l
ABC g200 EFG kg 5,4 HIL l 20x2'
# 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