#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)^(\%.*|Command rejected.*)"
Local $sString = "**State Acronym: H - Healthy, W - Warning, C - Critical" & @CRLF & _
"Resource Usage Max Warning Critical State" & @CRLF & _
"----------------------------------------------------------------------------------------------------" & @CRLF & _
"RP0 (ok, active) H" & @CRLF & _
" Control Processor 29.42% 100% 80% 90% H" & @CRLF & _
" DRAM 2840MB(72%) 3938MB 88% 93% H" & @CRLF & _
" bootflash 1889MB(69%) 2753MB 70% 90% H" & @CRLF & _
"ESP0(ok, active) H" & @CRLF & _
" QFP H" & @CRLF & _
" DRAM 81237KB(41%) 196608KB 85% 95% H" & @CRLF & _
" IRAM 207KB(10%) 2048KB 85% 95% H" & @CRLF & _
" CPU Utilization 2.00% 100% 90% 95% H" & @CRLF & _
"" & @CRLF & _
"Load Average" & @CRLF & _
" Slot Status 1-Min 5-Min 15-Min" & @CRLF & _
" RP0 Healthy 1.24 1.20 1.23" & @CRLF & _
"" & @CRLF & _
"Memory (kB)" & @CRLF & _
" Slot Status Total Used (Pct) Free (Pct) Committed (Pct)" & @CRLF & _
" RP0 Healthy 4033104 2909060 (72%) 1124044 (28%) 3749844 (93%)" & @CRLF & _
"" & @CRLF & _
"CPU Utilization" & @CRLF & _
" Slot CPU User System Nice Idle IRQ SIRQ IOwait" & @CRLF & _
" RP0 0 3.51 4.89 0.00 90.10 0.95 0.53 0.00" & @CRLF & _
" 1 2.96 4.55 0.00 90.98 1.06 0.42 0.00" & @CRLF & _
" 2 21.93 2.01 0.00 75.28 0.67 0.09 0.00" & @CRLF & _
" 3 29.17 34.41 0.00 25.93 10.09 0.37 0.00" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
" 2222233333111111111111111111111111111111 111112222222222" & @CRLF & _
" 100" & @CRLF & _
" 90" & @CRLF & _
" 80" & @CRLF & _
" 70" & @CRLF & _
" 60" & @CRLF & _
" 50" & @CRLF & _
" 40" & @CRLF & _
" 30" & @CRLF & _
" 20" & @CRLF & _
" 10" & @CRLF & _
" 0....5....1....1....2....2....3....3....4....4....5....5....6" & @CRLF & _
" 0 5 0 5 0 5 0 5 0 5 0" & @CRLF & _
" CPU% per second (last 60 seconds)" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
" 1 1 1 1 1 1 1" & @CRLF & _
" 439546515464943339403403334255420343303354853430442395424873" & @CRLF & _
" 100" & @CRLF & _
" 90" & @CRLF & _
" 80" & @CRLF & _
" 70" & @CRLF & _
" 60" & @CRLF & _
" 50" & @CRLF & _
" 40" & @CRLF & _
" 30" & @CRLF & _
" 20" & @CRLF & _
" 10 ** **#* * # * * * *** * * * ** * ** *" & @CRLF & _
" 0....5....1....1....2....2....3....3....4....4....5....5....6" & @CRLF & _
" 0 5 0 5 0 5 0 5 0 5 0" & @CRLF & _
" CPU% per minute (last 60 minutes)" & @CRLF & _
" * = maximum CPU% # = average CPU%" & @CRLF & _
"% Ambiguous command" & @CRLF & _
"% Invalid input detected at '^' marker" & @CRLF & _
"% Bad Mask /xx for address X.X.X.X" & @CRLF & _
"% X.X.X.X overlaps with GigabitEthernet0/1" & @CRLF & _
"Command rejected: Conflict between 'nonegotiate' and 'dynamic' status" & @CRLF & _
"% Configuration of multiple subinterfaces of the same main interface with the same VID is not permitted" & @CRLF & _
"% Configuring IP routing on a LAN subinterface is only allowed if that subinterface is already configured as part of a VLAN" & @CRLF & _
"% Inconsistent address and mask" & @CRLF & _
"% Invalid next hop address (it's this router)" & @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