$re = '/#(?!:[\w]+)(?=([\w\d\[\]\,\*\=\>\.\s]*[\{\,\[]+))/';
$str = 'div#xyz, #xyz, div#xyz[id=\'xyz\'],
.def>#xyz, .def>div#xyz, .def>#xyz,
.def>div#xyz[id=*]{
color:#ee2ee2;
}
@media (min-width: 30em) and (orientation: landscape)
{
.abc{
background-color :#FFFFFF;
border-color:1px solid #eee ;
}
.def>#xyz, .def #xyz, .def>#xyz{border-color:1px solid #ddd;}
}';
$subst = ".";
$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