$re = '/^ecp\.eset\.systems|(?:edf|h(?:[1,3,5]\-arse0[1,2]|5\-arse0[3,4])\-v)\.eset\.com$/mi';
$str = 'ecp.eset.systems
ecp.eset.systems
edf.eset.com
h1-arse01-v.eset.com
h1-arse02-v.eset.com
h3-arse01-v.eset.com
h3-arse02-v.eset.com
h5-arse01-v.eset.com
h5-arse02-v.eset.com
h5-arse03-v.eset.com
h5-arse04-v.eset.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