$re = '/(\.(fit|link)+?)(?:$|\/|\:)/m';
$str = 'ill.com.au@hitme.fit
something@hitme.fit
something.fit@hitme.fit
something.link@hitme.fit
1axcjcbue5xsahq5evlru8vi84l8phe4kd5rmv-user=domain.com.au@5841205t.scamlottery.com
1axcjcbue5xsahq5evlru8vi84l8phe4kd5rmv-user=domain.com.link@5841205t.scamlottery.com
no.hit.link@account.fitbit.com
no.hit.fit@account.fit.com
something@fit.com
www.hitme.fitbit/url
www.hitme.fitbit:443/url
www.hitme.fitbit/url
ftp://hitme.good.com/unknown
ftp://hitme.fitbit/unknown
ftp://hitme.fitbit:23/url.link/
ftps://hitme.good.com/unknown
ftps://hitme.fitbit/unknown
ftps://hitme.fit:23/url.link/
hitme.fit
hitme.fit:443
hitme.fit/link
www.hitme.fit
www.hitme.fit:443
www.hitme.fit/link
https://hitme.fit
https://hitme.fit:443
https://hitme.fit/link
https://www.hitme.fit
https://www.hitme.fit:443
https://www.hitme.fit/link
https://hitme.link/transactional/link/6111b67123123fd001d7da8b2/
https://good.link.com/transactional/link.fit/6111b67123123fd001d7da8b2/
https://good.link.com/transactional/fit.link/6111b67123123fd001d7da8b2/
http://www.answers.com/article/1194427/8-habits-of-extraordinarily-likeable-people
http://www.apple.com
http://www.cnn.com.au/?link.fit/
http://downloads.news.com.au
http://ftp.android.co.nz
http://global.news.ca
http://www.apple.com
REV1 (:\\/\\/)?(\\w*\\.)*(link)(\\/.*)?$
REV2 (\\.(fit|link)+?)(?:$|\\/|:)';
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