$re = '/.*(aa|bb|cc){1}.*(aa|bb|cc){1}.*(aa|bb|cc){1}.*/m';
$str = 'Ala ma 2 koty oraz 4 psy i coś jeszcze
Ala maaa 2 kotycc oraz 4 psy ibb coś jeszcze
Ala ma 2 koty cc oraz 4 psy aa i coś jeszcze bb
Ala ma 2 kotycc orazbb 4 psy i cośaa jeszcze
Ala ma 2 kotydd orazbb 4 psy i cośaa jeszcze
Ala ma 2 koty aaoraz 4 psyaa ibb cośbb jeszczecccc
';
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