$re = '/^hotma.*(om|cm|co|et)$|^hotmail\.com[^\.].*$|^hotmail$|^h(to)?mail\.com/m';
$str = 'SQL Expression
hotmail.es
hotmail.co.kr
hotmail.co.uk
hotmail.com.tw
hotmail.com
hotmail
hotmailcom
htomail.com
hmail.com
hotmai.com
hotmail.cm
hotmail.net
hotmailc.om
hotmaol.com
homail.com
hotmail.co
hotmail.comahmedshakirny
hotmail.com
hotmail
hotmailcom
htomail.com
hotmail.es
hotmail.co.kr
hotmail.co.uk
hmail.com
hotmai.com
hotmail.cm
hotmail.net
hotmailc.om
hotmaol.com
homail.com
hotmail.co
hotmail.comahmedshakirny
hotmail.comc
hotmail.comi
hotmail.om
hoymail.com
hitmail.com
hjotmail.com
hormail.com
hotgmail.com
hotmaii.com
hotmail..com
hotmail..comn
hotmail.com.lowercaseletter
hotmail.com.tw
hotmail.comgeorge4nyy
hotmail.comjehan.nizam09
hotmail.commn
hotmail.comn
hotmail.comorgmail.com
hotmail.comorvince1812
hotmail.con
hotmail.conm
hotmail.corp
hotmail.vom
hotmail.xom
hotmain.com
hotmaiul.com
hotmmail.com
hpotmail.com
';
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