#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)^(?P<nlb_type>tls)\s*(?P<nlb_version>1\.0)\s*(?P<nlb_timestamp>[^\s]+)\s*(?P<nlb_elb>[^\s]+)\s*(?P<nlb_listener>[^\s]+)\s*(?P<nlb_client_addr>[^:]+):\s*(?P<nlb_client_port>[^\s]+)\s*(?P<nlb_target_addr>[^:]+):\s*(?P<nlb_target_port>[^\s]+)\s*(?P<nlb_connection_time>[^\s]+)\s*(?P<nlb_tls_handshake_time>[^\s]+)\s*(?P<nlb_received_bytes>[^\s]+)\s*(?P<nlb_sent_bytes>[^\s]+)\s*(?P<nlb_Incoming_tls_alert>[^\s]+)\s*(?P<nlb_chosen_cert_arn>[^\s]+)\s*(?P<nlb_chosen_cert_serial>[^\s]+)\s*(?P<nlb_tls_cipher>[^\s]+)\s*(?P<nlb_tls_protocol_version>[^\s]+)\s*(?P<nlb_tls_named_group>[^\s]+)\s*(?P<nlb_domain_name>[^\s]+)"
Local $sString = "tls 1.0 2018-12-20T02:59:40 net/my-network-loadbalancer/c6e77e28c25b2234 g3d4b5e8bb8464cd " & @CRLF & _
"72.21.218.154:51341 172.100.100.185:443 5 2 98 246 - " & @CRLF & _
"arn:aws:acm:us-east-2:671290407336:certificate/2a108f19-aded-46b0-8493-c63eb1ef4a99 - " & @CRLF & _
"ECDHE-RSA-AES128-SHA tlsv12 - " & @CRLF & _
"my-network-loadbalancer-c6e77e28c25b2234.elb.us-east-2.amazonaws.com"
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