$re = '`^Exactfoobar(?:\.[a-z0-9][a-z0-9_-]*){2}(?:\.[a-zA-Z0-9][a-zA-Z0-9_-]*)+$`m';
$str = 'Exactfoobar.somestring.some_other-string.someStringwithCaps
There could be 4 or more fields separated by a dot
The first word should be exactly Exactfoobar.
The 2nd and 3rd word can\'t have caps but can have -_
The 4th word and so on can have caps with -_';
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