#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)((((о|е|ё)(в|ц)а?)|((ы|и)на?))|(о|а(й|к|у|ч)?)|(к((о|и)й|ая))|(и(ч|ц))|((ы|и)(х|й)|ая)|((у|ю|о)(к|н|б))|(штейн|манн?|сон))\b"
Local $sString = "Смирнов/Cмиров" & @CRLF & _
"Николаев/Николаева" & @CRLF & _
"Никитин/Никитина" & @CRLF & _
"Киселёв/Киселёва" & @CRLF & _
"Пятницын/Пятницына" & @CRLF & _
"Крыленко" & @CRLF & _
"Хованский/Хованская" & @CRLF & _
"Калита" & @CRLF & _
"Шемяка" & @CRLF & _
"Донской/Донская" & @CRLF & _
"Теплых" & @CRLF & _
"Усович" & @CRLF & _
"Царук" & @CRLF & _
"Нагорный/Нагорная" & @CRLF & _
"Деньнуб" & @CRLF & _
"Заренок" & @CRLF & _
"Шевчук" & @CRLF & _
"Драгун" & @CRLF & _
"Харинтон" & @CRLF & _
"Горбатых" & @CRLF & _
"Фидорец" & @CRLF & _
"Слободенюк" & @CRLF & _
"Кравчук" & @CRLF & _
"Голицын" & @CRLF & _
"Лифшиц" & @CRLF & _
"Либерман" & @CRLF & _
"Капица" & @CRLF & _
"Айнштейн" & @CRLF & _
"Лазерсон" & @CRLF & _
"Байдачный/Байдачная" & @CRLF & _
"Зварыкин/Зварыкина" & @CRLF & _
"Коллонтай" & @CRLF & _
"Cобчак" & @CRLF & _
"Ландау" & @CRLF & _
"Василец" & @CRLF & _
"Кучерявый" & @CRLF & _
"Бородач" & @CRLF & _
"Грицюк" & @CRLF & _
"Радаев" & @CRLF & _
"Белаец" & @CRLF & _
"Деев" & @CRLF & _
""
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