#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)\[([^\]]+)]"?$"
Local $sString = "NO MATCHES:" & @CRLF & _
"" & @CRLF & _
" [q:Sacks and Snow: The Snow Child's Name] has run out of time. It asks to see you." & @CRLF & _
"" & @CRLF & _
" "My sleep is riddled with dreams, [q:Addressed As]. Dreams of bells and candles!"" & @CRLF & _
"" & @CRLF & _
" The pirates must learn that [q:Pigmote Isle: Mastery] will fight back." & @CRLF & _
"" & @CRLF & _
" [CHANGE_TERRAIN],EmpireofHands/airbase_half,EmpireofHands/airbase_burnt" & @CRLF & _
"" & @CRLF & _
" <b>MAYBE'S DAUGHTER</b>: Hello, Auntie.\r\n<br/>\r\n<b>PARABOLAN PANTHER<b/>: [Silence.]\r\n<br/>\r\n<b>MAYBE'S DAUGHTER</b>: Fair point. Let's keep it to ourselves for now.\r\n" & @CRLF & _
"" & @CRLF & _
" O[xxxxx] THRR [xxxxx] N KUTHE TH[xxxxxx]." & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"SHOULD MATCH:" & @CRLF & _
"" & @CRLF & _
" "[q:Addressed As]. I know the way. Let me show you."\n[The Exile is a First Officer.]" & @CRLF & _
"" & @CRLF & _
"(just the last part!)" & @CRLF & _
"" & @CRLF & _
" "Herein are recorded certain details of a Voyage through [xxxxx] in the company of [xxxxxx], on [xxxxxx]...." [Use this to increase your Pages]" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"(how? it ends with quotes!)" & @CRLF & _
"" & @CRLF & _
" "P drowns in PELIGIN, the colour of the deepest zee. [Someone has scrawled in the margin: BEYOND THE GATE THERE IS A SEA MORE SUNLESS]"" & @CRLF & _
"" & @CRLF & _
"(trailing spaces)" & @CRLF & _
"" & @CRLF & _
" Decide later. [If you just want to get out to zee immediately, choose this. Opportunities to revisit your past will arrive later.]" & @CRLF & _
"" & @CRLF & _
" Really it's just him you want to understand. [This will certainly get you kicked off the island.]" & @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