re = /(?m)^(?=(?:.*type:([^\/\s]+))?)(?=(?:.*sort:([^\/\s]+))?).*/m
str = 'xbox/type:article/sort:date-desc
nintendo/type:media/sort:comments-asc
nintendo/type:1987/sort:14
pc/sort:views-desc
playstation/type:opinion/
playstation/sort:views-asc
xbox/sort:views-asc/type:article
playstation/type:media/sort:views-asc
xbox
02:52:00 P1D
y1987 m8 d13 02:52:00 P1D'
# 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