re = /(?|([a-zA-Z0-9]+)=(?|([^\v '"]+)|"(.*?)"|'(.*?)')|([a-zA-Z0-9]+))/
str = 'a=123 344=555
a=1 b=2 c=3
delim=; trst=.... c=3
delim=; trst=".... " c=3
x=12 abc="asdasda"
x12 abc="asdasda"
x13 xddss=\'asdasda\'
x13=213 xddss=\'asdasda\'
adas=123 123=312312 x="dasdas asd as as das das das das das" as="adsasdas"
adas=123 123=312312 x="dasdas asd as as = das das das das das" as="adsasdas"
adas=123 123=312312 x=\'dasdas asd as as das das das das das\' as=\'adsasdas\'
adas=123 123=312312 x=\'dasdas asd as as = das das das das das\' as=\'adsasdas\''
# 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