$re = '~("(?=((?:[^"\\\\]+|\\\\[\s\S])*))\2"|\'(?=((?:[^\'\\\\]+|\\\\[\s\S])*))\3\')|//.*|/\*(?=((?:[^*]+|\*(?!/))*))\4\*/~';
$str = '/*My function
is great.*/
int j = 0//hello world
void foo(){
//tricky example
cout << "This // is // not a comment\\n";
}';
$subst = "\1";
$result = preg_replace($re, $subst, $str);
echo "The result of the substitution is ".$result;
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