subject = 'this, "what I need", to, do, "i, want, this", to, work'
regex = /"([^"]+)"|[^, ]+/
# put Group 1 captures in an array
mymatches = []
subject.scan(regex) {|m|
     $1.nil? ? mymatches << $& : mymatches << $1
}
mymatches.each { |x| puts x }
 
				c3ViamVjdCA9ICd0aGlzLCAid2hhdCBJIG5lZWQiLCB0bywgZG8sICJpLCB3YW50LCB0aGlzIiwgdG8sIHdvcmsnCnJlZ2V4ID0gLyIoW14iXSspInxbXiwgXSsvCiMgcHV0IEdyb3VwIDEgY2FwdHVyZXMgaW4gYW4gYXJyYXkKbXltYXRjaGVzID0gW10Kc3ViamVjdC5zY2FuKHJlZ2V4KSB7fG18CiAgICAgJDEubmlsPyA/IG15bWF0Y2hlcyA8PCAkJiA6IG15bWF0Y2hlcyA8PCAkMQp9Cm15bWF0Y2hlcy5lYWNoIHsgfHh8IHB1dHMgeCB9Cg==