re = /name:(.*?)id:(.*?)unicode:(.*?)created:(.*?)categories:(.*?)(?=- name|$)/
str = '- name: Glass
id: glass
unicode: f000
created: 1.0
categories:
- Web Application Icons
- Test1
- Test2
- name: Music
id: music
unicode: f001
created: 1.0
categories:
- Web Application Icons
- name: Search
id: search
unicode: f002
created: 1.0
categories:
- Web Application Icons1
'
# 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