#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "^( *)( *)( *)(['.-])((?!\4)(?4)+?)((?!\4|\5)(?4)++)\1\3whale" & @CRLF & _
"(?=.(.))\6.\7\4(?!\4|\6)([_\/])\3(?!(?11))\8\2(?=\2)\3\1_((?=\4+.).\5(?!\6)\5)(?!.?')\7\4" & @CRLF & _
"(?=.\7)\6.([,`])\3{2}(?=.((?!\8)[_\/])\11)\Q(_\E.\4{2}(?!\.)\5((?!\10)(?10)(?!\4+|\5|\6))\1\3{3}(\\)" & @CRLF & _
"(\3{3})\13\2{2}\1{1}\3+(?<=\S {10})\4\1\3\|" & @CRLF & _
"\1(?=\12)(?12)(?!`,)\10\4(\11{2})\4\14\10\15\9\8" & @CRLF & _
"\14{2}(?=\6)['-]\4(?<!-)\11\8\11\4\6\11\15\.-|(?!)"
Local $sString = " .-' whale" & @CRLF & _
"'--./ / _.---." & @CRLF & _
"'-, (__..-` \" & @CRLF & _
" \ . |" & @CRLF & _
" `,.__. ,__.--/" & @CRLF & _
" '._/_.'___.-"
Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYFULLMATCH)
; 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