$re = '/(?m)((?:(?:^[ \t]*)?(?:\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\/(?:[ \t]*\r?\n(?=[ \t]*(?:\r?\n|\/\*|\/\/|\{)))?|\/\/(?:[^\\\\]|\\\\(?:\r?\n)?)*?(?:\r?\n(?=[ \t]*(?:\r?\n|\/\*|\/\/|\{))|(?=\r?\n))|\{[\S\s]*?\}(?:[ \t]*\r?\n(?=[ \t]*(?:\r?\n|\/\*|\/\/|\{)))?))+)|((?:"[^"\\\\]*(?:\\\\[\S\s][^"\\\\]*)*"|\'[^\'\\\\]*(?:\\\\[\S\s][^\'\\\\]*)*\'|(?:\r?\n(?:(?=(?:^[ \t]*)?(?:\/\*|\/\/|\{))|[^\/"\'\\\\\r\n{]*))+|[^\/"\'\\\\\r\n{]+)+|[\S\s][^\/"\'\\\\\r\n{]*)/';
$str = ' int j=100;
/* comment needs to be removed*/
int c = 200;
/*
*comment needs to be removed
*/
count = count + 1;
{comment needs to be removed}
i++;';
$subst = "$2";
$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