$re = '/#проверка ФИО
#https://www.bbc.co.uk/academy/ru/articles/art20170623191659259
#https://www.regular-expressions.info/unicode.html
^
(?!^\s*[\p{Pd}’\'])
(?![\s\S]*[\p{Pd}’\']\s*$)
(?![\s\S]*?’’)
(?![\s\S]*?\'\')
#русские и английские буквы не могут быть одновременно
(?: (?![\s\S]*[aeiouyAEIOUY]{4}) #no 4 vowel letters sequentially
(?![\s\S]*[bcdfghjklmnpqrstvwxzBCDFGHJKLMNPQRSTVWXZ]{5}) #no 5 consonant letters sequentially
(?:[a-zA-Z\p{Pd}’\']|(?![\r\n])\s)+
| (?![\s\S]*?[аеиоуыэюяёАЕИОУЫЭЮЯЁ]{4}) #не может содержать 4 гласных буквы подряд (3 гласных буквы подряд есть в слове \'длинношеее\')
(?![\s\S]*?[бвгджзклмнпрстфхцчшщйъьБВГДЖЗКЛМНПРСТФХЦЧШЩЙЪЬ]{6}) #не может содержать 6 согласных букв подряд (5 согласных букв подряд есть в фамилии \'Мкртчан\')
(?:[а-яёА-ЯЁ\p{Pd}’\']|(?![\r\n])\s)+
)
$/mxuX';
$str = 'Ииии
Нннннн
Ttttt
Uuuu
АлисаTab
Алиса Tab
Иван\'
-Alex
Жан-Клод Ван Дам
Алиса--Виктория
Алиса–Виктория
Алиса—Виктория
Иван Иванович Иванов
Динношееев
Мкртчан
д’Артаньян
Ali Baba
Jhon Smith';
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