$re = '/(?sm)(?:^\h*(?:\/\/|[#;])[^\n]*|\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\/)(*SKIP)(*F)|^\s*([^=\n]+?)\s*=\s*(.*?);\h*(?:$|\r?\n)/';
$str = '/*
anything description
*/
// Some=comment
;Another = comment
# and this comment = too
Data1 = value1;
OtherData<> = Other Value;
/*
my other description
*/
Any thing = Any
Answer;
/*
this is description and must not detect
Description_Data = Any_Value;
*/';
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