$re = '/(?:[^[:alpha:]-]|^)
(
[[:alpha:]]{2,}(?:-[[:alpha:]]{2,})?|
-[[:alpha:]]{2,}|
[[:alpha:]]{2,}-
)
[^[:alpha:]-]
(?:(?:.*?[^[:alpha:]-])?\1(?:[^[:alpha:]-]|$)){2}/xim';
$str = '-bad girls, -bad boys,-bad phone. phone phone mam: phone phone?
wup, wup, BORAK OBAMA OBAMA MAMA; it is OBAMA .
hustone, we have a problem, big problem. Very big, big, big
high cost - high perfomance, high
full-hd,tv-full,full-hd:full-hd
1 Fooo fooo fooo , fooo-- fooo--
2 fooo feee faaa , fooo-fooo, fooo-fooo.';
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