#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?imx)^ # New line" & @CRLF & _
"T?([00-23]{2}) # Hour block (00 through 23 hours)" & @CRLF & _
"\:?([00-59]{2}) # Minute block (00 through 59 minutes)" & @CRLF & _
"\s* # Optional space" & @CRLF & _
"([ap])?\.?(m?)\.? # AM or PM, with or without periods" & @CRLF & _
"$ # End of the string."
Local $sString = "T12:34" & @CRLF & _
"12:34" & @CRLF & _
"12:34PM" & @CRLF & _
"1000" & @CRLF & _
"12:34AM" & @CRLF & _
"12:34 AM" & @CRLF & _
"12:34 PM" & @CRLF & _
"12:34 A.M" & @CRLF & _
"12:34 P.M" & @CRLF & _
"23:59" & @CRLF & _
"23:59 PM" & @CRLF & _
"55:88 PM"
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