#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "((([a-z]\[[^\]]+\])(.{1}))?(\s*\=\>\s*)((([a-z]\[[^\]]+\])|([a-z].))(.{1})([A-Z]?)))?(\s*\/\/.*)?"
Local $sString = "// Алгоритм умножения. Формат ленты: [*]1111#111=*" & @CRLF & _
"// Множество: Q; Начальное значение: q[0]; Конечное значение: q*;" & @CRLF & _
"// Символ пустой ячейки: _; Символ перехода влево: L; Символ перехода вправо: R" & @CRLF & _
"q[0]1 => q[0]1R //2312312323" & @CRLF & _
"q[0]# => q[1]#R" & @CRLF & _
"q[0]* => q[0]*R" & @CRLF & _
"q[1]1 => q[2]aR" & @CRLF & _
"q[2]1 => q[2]1L" & @CRLF & _
"q[2]# => q[3]#L" & @CRLF & _
"q[2]= => q[2]=L" & @CRLF & _
"q[2]a => q[2]aL" & @CRLF & _
"q[3]1 => q[4]aR" & @CRLF & _
"q[3]a => q[3]aL" & @CRLF & _
"q[3]* => q[6]*R" & @CRLF & _
"q[4]1 => q[4]1R" & @CRLF & _
"q[4]# => q[4]#R" & @CRLF & _
"q[4]= => q[4]=R" & @CRLF & _
"q[4]a => q[4]aR" & @CRLF & _
"q[4]* => q[5]1R" & @CRLF & _
"q[5]_ => q[2]*L" & @CRLF & _
"q[6]# => q[7]#R" & @CRLF & _
"q[6]a => q[6]1R" & @CRLF & _
"q[7]1 => q[2]aR" & @CRLF & _
"q[7]= => q[8]=L" & @CRLF & _
"q[7]a => q[7]aR" & @CRLF & _
"q[8]# => q*#" & @CRLF & _
"q[8]a => q[8]1L"
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