#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?s)\[\@if(not)?:([a-zA-Z0-9]+)(?:=(.*?))?\].*?\[\@endif:\2\]"
Local $sString = "<!-- <h1>[!WLANSettings]</h1> -->" & @CRLF & _
"[@if:examplevar=notgiven]this text won't show[@endif:examplevar]" & @CRLF & _
"[@if:wlanena]" & @CRLF & _
"[@if:wlanauto]" & @CRLF & _
"<table id="wlanavail" class="colorrows inputtable">" & @CRLF & _
" <tr id="firstrow">" & @CRLF & _
" <th width="30px"></th>" & @CRLF & _
" <th width="240px">[!Name] (SSID)</th>" & @CRLF & _
" <th width="110px">[!Encryption]</th>" & @CRLF & _
" <th width="150px">[!SignalStrength]</th>" & @CRLF & _
" <th width="200px">[!MAC]</th>" & @CRLF & _
" </tr>" & @CRLF & _
"" & @CRLF & _
" <tr id="loadingrow">" & @CRLF & _
" <td colspan=5 class="centertext"><img src="resources/loading.gif"" & @CRLF & _
" id="loadingWlanScan"></td>" & @CRLF & _
" </tr>" & @CRLF & _
" <tr>" & @CRLF & _
" <td></td>" & @CRLF & _
" <td colspan=4><input type="button" id="rescan"" & @CRLF & _
" value="[!Refresh]" style="width: 200px"></td>" & @CRLF & _
" </tr>" & @CRLF & _
"</table>" & @CRLF & _
"<p></p>" & @CRLF & _
"[@endif:wlanauto]" & @CRLF & _
"<table id="wlansettings" class="inputTable">" & @CRLF & _
" <tr id="wlannamerow" [@if:wlanauto]style="display: none;"[@endif:wlanauto]>" & @CRLF & _
" <td>[!WLANName]</td>" & @CRLF & _
" <td><input type="text" name="wlanname" id="wlanname"" & @CRLF & _
" [@if:wlanauto]value="[@wlanname]"[@endif:wlanauto] style="width: 309px;"></td>" & @CRLF & _
" </tr>" & @CRLF & _
" <tr>" & @CRLF & _
" <td>[!Password]:</td>" & @CRLF & _
" <td><input type="text" name="wlanpass" id="wlanpass"" & @CRLF & _
" style="width: 309px;"></td>" & @CRLF & _
" </tr>" & @CRLF & _
" <tr>" & @CRLF & _
" <td colspan="2" >" & @CRLF & _
" <input type="button" " & @CRLF & _
" [@if:wlanauto]id="manualcfg" name="manualcfg" value="[!ManualConfig]"[@endif:wlanauto]" & @CRLF & _
" [@ifnot:wlanauto]id="autocfg" name="autocfg" value="[!AutomaticConfig]"[@endif:wlanauto]" & @CRLF & _
" onclick="handleMultiform(event, this);" style="width: 180px;">" & @CRLF & _
" </td>" & @CRLF & _
" </tr>" & @CRLF & _
" <tr>" & @CRLF & _
" <td>" & @CRLF & _
" <input type="hidden" name="encinput" id="encinput" value=""></td>" & @CRLF & _
" <td id="wlaninfo"></td>" & @CRLF & _
" </tr>" & @CRLF & _
"</table>" & @CRLF & _
"[@ipsettings]" & @CRLF & _
"" & @CRLF & _
"[@endif:wlanena]" & @CRLF & _
"[@ifnot:wlanena]" & @CRLF & _
"[!NoWLANDevicePluggedIn]" & @CRLF & _
"<p>" & @CRLF & _
" <input type="button" name="back" onclick="handleMultiform(event, this);" value="[!Back]" />" & @CRLF & _
"</p>" & @CRLF & _
"[@endif:wlanena]" & @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