#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?mi)\b(S5TIME|S5T|TIME|LTIME|T|LT|D|TOD|LTOD|DT|DTL|LDT)#[0-9|+|-]*([^(\s|;)]+)"
Local $sString = "DT#1990-01-01-00:00:00.000" & @CRLF & _
"DT#2089-12-31-23:59:59.999" & @CRLF & _
"LDT#1970-01-01-00:00:00.000000000" & @CRLF & _
"LDT#2262-04-11-23:47:16.854775807" & @CRLF & _
"DTL#1970-01-01-00:00:00.0" & @CRLF & _
"DTL#2262-04-11-23:47:16.854775807" & @CRLF & _
"LTOD#00:00:00.000000000 " & @CRLF & _
"LTOD#23:59:59.999999999" & @CRLF & _
"TOD#00:00:00.000 " & @CRLF & _
"TOD#23:59:59.999" & @CRLF & _
"D#1990-01-01" & @CRLF & _
"D#2169-06-06" & @CRLF & _
"LT#-106751d_23h_47m_16s_854ms_775us_808ns" & @CRLF & _
"LT#+106751d_23h_47m_16s_854ms_775us_807ns" & @CRLF & _
"LT#11350d_20h_25m_14s_830ms_652us_315ns" & @CRLF & _
"LTIME#11350d_20h_25m_14s_830ms_652us_315ns;" & @CRLF & _
"T#-24d_20h_31m_23s_648ms " & @CRLF & _
"T#+24d_20h_31m_23s_647ms" & @CRLF & _
"T#10d_20h_30m_20s_630ms" & @CRLF & _
"TIME#10d_20h_30m_20s_630ms" & @CRLF & _
"S5T#0MS" & @CRLF & _
"S5T#2H_46M_30S_0MS" & @CRLF & _
"S5T#10s" & @CRLF & _
"S5TIME#10s"
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