re = /^(?:[^"'\n]*(?:"(?:[^"\n]|"")*"))*[^"]*'(.*)$/m
str = 'Working - This is a test \'This should be captured
Working - "this is a test" \'This should be captured
Not Working - "this is a test" \'This should be "captured"
Not Working - This is a test \'This should be "captured"
Working - "this is a test \'this should not capture\'" \'this should capture
Working - "this isn\'t a test" \'this should capture
And "this"? Does it "work" or doesn\'t it? \' Comment
"Having ""quoted"" quotes couldn\'t work, could they"? "Yeah, they do!" \' Great'
# 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