re = /(?:\G\s?,\s?|^)(\w+)\/(\w+)(?:\+(\w+))?|(?<!^)\G(?:\s?;\s?(\w+)=([\w\.]+))/m
str = 'application/xhtml+xml; q=0.9; level=3 , text/html,application/json;test=hello
application/xhtml+xml; q=3; age=9; text/html image/png;mime=none
,application/xhtml+xml; q=3; age=9; text/html application/json;test=hello
application/xhtml+xml; q=3; age=9 text/html , application/json;test=hello'
# 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