#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?mxuX)#проверка ФИО" & @CRLF & _
"#https://www.bbc.co.uk/academy/ru/articles/art20170623191659259" & @CRLF & _
"#https://www.regular-expressions.info/unicode.html" & @CRLF & _
"^" & @CRLF & _
"(?!^\s*[\p{Pd}’'])" & @CRLF & _
"(?![\s\S]*[\p{Pd}’']\s*$)" & @CRLF & _
"(?![\s\S]*?’’)" & @CRLF & _
"(?![\s\S]*?'')" & @CRLF & _
"#русские и английские буквы не могут быть одновременно" & @CRLF & _
"(?: (?![\s\S]*[aeiouyAEIOUY]{4}) #no 4 vowel letters sequentially" & @CRLF & _
" (?![\s\S]*[bcdfghjklmnpqrstvwxzBCDFGHJKLMNPQRSTVWXZ]{5}) #no 5 consonant letters sequentially" & @CRLF & _
" (?:[a-zA-Z\p{Pd}’']|(?![\r\n])\s)+" & @CRLF & _
" | (?![\s\S]*?[аеиоуыэюяёАЕИОУЫЭЮЯЁ]{4}) #не может содержать 4 гласных буквы подряд (3 гласных буквы подряд есть в слове 'длинношеее')" & @CRLF & _
" (?![\s\S]*?[бвгджзклмнпрстфхцчшщйъьБВГДЖЗКЛМНПРСТФХЦЧШЩЙЪЬ]{6}) #не может содержать 6 согласных букв подряд (5 согласных букв подряд есть в фамилии 'Мкртчан')" & @CRLF & _
" (?:[а-яёА-ЯЁ\p{Pd}’']|(?![\r\n])\s)+" & @CRLF & _
")" & @CRLF & _
"$"
Local $sString = "Ииии" & @CRLF & _
"Нннннн" & @CRLF & _
"Ttttt" & @CRLF & _
"Uuuu" & @CRLF & _
"АлисаTab " & @CRLF & _
"Алиса Tab" & @CRLF & _
"Иван'" & @CRLF & _
"-Alex" & @CRLF & _
"Жан-Клод Ван Дам" & @CRLF & _
"Алиса--Виктория" & @CRLF & _
"Алиса–Виктория" & @CRLF & _
"Алиса—Виктория" & @CRLF & _
"Иван Иванович Иванов" & @CRLF & _
" Динношееев " & @CRLF & _
"Мкртчан" & @CRLF & _
"д’Артаньян" & @CRLF & _
"Ali Baba" & @CRLF & _
"Jhon Smith"
Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYGLOBALFULLMATCH)
Local $aFullArray[0]
For $i = 0 To UBound($aArray) -1
_ArrayConcatenate($aFullArray, $aArray[$i])
Next
$aArray = $aFullArray
; Present the entire match result
_ArrayDisplay($aArray, "Result")
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 AutoIt, please visit: https://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm