re = /(?P<name>[A-ZÀ-Ÿ\s-\.\/\(\)'\/]+)(?:\s)*(?P<dosage>(?:[\d\s]+(?:ml|ML|mg|MG|g|%)*[\s\/]*)*)(?:\s)(?P<adminmode2>[A-ZÀ-Ÿ\s-\.\/\(\)'\/]*)(?P<separator>,|\.\s\/)(?:\s)(?P<adminmode1>[a-zA-ZÀ-ÿ\s\(\)\-'\.0-9]+)/m
str = 'CALMANTE VITAMINADO PEREZGIMENEZ COMPRIMIDOS , 200 comprimidos'
# 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