$re = '/(?ms)(\/\/[^\n]+|\/\*.*?\*\/)/';
$str = 'code // comment
code /* comment */ code
code "string" code
code // comment
code
code /* comment
comment */ code
code "string
code" string
code "string\\
string" code
code // comment "comment"
code /* comment "comment" */ code
code "string /* string */ // string" code
code // comment
"string"
code /* comment
"comment" */ code
code "string
/* comment */ // comment" string
code "string\\
/* string */ // string" code
code // comment // comment
code /* comment /* comment */ code */
code "string \\" string" code "string" code';
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