$re = '/^(?:[^"\'\n]*(?:"(?:[^"\n]|"")*"))*[^\']*(\'(?:_\n|.)*)/m';
$str = 'ewr "Having ""quoted"" quotes couldn\'t work, could they"? "Yeah, they do!" \'Great
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
\'Comment with a line _
continuation
Debug.Print \'End of line comment _
with line continuation.
Debug.Print 42 \'The next line... _
"...is not a string literal"
Debug.Print "Unmatched double quotes." \'Comment"
Debug.Print "Interleaved single \'n double quotes." \'Comment"
\'No comments or strings in the line below.
Debug.Print [Evil:""Comment"\'here]
';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
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 PHP, please visit: http://php.net/manual/en/ref.pcre.php