#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "interface\s([\S]+?)\.(\d+)\s+(description\s(?:[^a-zA-Z0-9]?([\S]+)[^a-zA-Z0-9]?))*(?:encapsulation\sdot1q\s(\d+)\s*)*(?:second-dot1q\s(\S+)\s+)*(?:rewrite\singress\stag\s(.+?)\s{2,})*(?:service-policy\sinput\s([\S]+)\s+)*(?:service-policy\soutput\s([\S]+))*.+?(?:\s*!|\s+service\sinstance)"
Local $sString = "interface Loopback9 description RIFERIMENTO LDP/EoMPLS ip address 172.16.116.23 255.255.255.255!" & @CRLF & _
"interface Port-channel2 description KdC-TEST_ESPOSITO/CANDIDO_3263 mtu 9206 no ip address logging event link-status load-interval 30 shutdown" & @CRLF & _
" service instance 301 ethernet description LINK-to-OLO encapsulation dot1q 269 second-dot1q 301 rewrite ingress tag pop 1 symmetric group 12333 service-policy input BTS_P01_B-96k_B3-0_B5-0_B6-0_IN service-policy output BTS_P01_B-96k_B3-0_B5-0_B6-0_OUT xconnect 172.16.116.249 570435069 encapsulation mpls mtu 9206 " & @CRLF & _
" service instance 301 ethernet description LINK-to-OLO encapsulation dot1q 269 second-dot1q 301 rewrite ingress tag pop 1 symmetric group 12333 service-policy input BTS_P01_B-96k_B3-0_B5-0_B6-0_IN service-policy output BTS_P01_B-96k_B3-0_B5-0_B6-0_OUT xconnect 172.16.116.249 570435069 encapsulation mpls mtu 9206 !" & @CRLF & _
" service instance 4001 ethernet description SI_VLAN-PING encapsulation dot1q 4001 rewrite ingress tag pop 1 symmetric service-policy input PING_LIMIT bridge-domain 4001 !!" & @CRLF & _
"interface Port-channel2.302 description "vlan_pseudo_lato_olo" encapsulation dot1q 1327 second-dot1q 1001 rewrite ingress tag pop 1 symmetric service-policy input GBE_remark_in service-policy output GBE_remark_out !" & @CRLF & _
"" & @CRLF & _
"interface Port-channel2.302 description test_subif!"
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