$re = '/\[class\*=(?:"|\')?(.*?)(?:"|\')?\]/';
$str = '/***********************
***** SHOULD MATCH *****
***********************/
/* No quotes */
[class*=container] {}
/* Single quotes */
[class*=\'container\'] {}
/* Double quotes */
[class*="container"] {}
/* Multiple classes */
[class*="container"][class*="container-large"] {}
/**************************
***** SHOULDN\'T MATCH *****
**************************/
/* With = (exactly equal) */
[class="container"] {}
/* With ^= (begins with) */
[class^="container"] {}
/* With $= (ends with) */
[class$="container"] {}';
$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