#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)^(\d{4}|\+\d{6})(?:-(\d{2})(?:-(\d{2})(?:T(\d{2}):(\d{2}):(\d{2})(?:\.{0,1})(\d{0,})(Z|([\-+])(\d{2})(?::{0,1})(\d{2}))?)?)?)?$"
Local $sString = "HOLY CRAP - THIS LOOKS PERFECT FOR ISO + YYYY-MM-DD!" & @CRLF & _
"" & @CRLF & _
"2015-08-10" & @CRLF & _
"2015-10-08" & @CRLF & _
"12015-08-10" & @CRLF & _
"-2015-08-10" & @CRLF & _
"+2015-08-10" & @CRLF & _
"0015-08-10" & @CRLF & _
"1582-10-10" & @CRLF & _
"2015-02-28" & @CRLF & _
"2016-02-29" & @CRLF & _
"2000-02-29" & @CRLF & _
"0000-02-29" & @CRLF & _
"-2000-02-29" & @CRLF & _
"-2016-02-29" & @CRLF & _
"200000-02-29" & @CRLF & _
"2016-366" & @CRLF & _
"2000-366" & @CRLF & _
"0000-366" & @CRLF & _
"-2016-366" & @CRLF & _
"-2000-366" & @CRLF & _
"2015-081" & @CRLF & _
"2015-W33-1" & @CRLF & _
"2015-W53-7" & @CRLF & _
" 2015-08-10 " & @CRLF & _
"" & @CRLF & _
"2016-11-09T01:00:23Z" & @CRLF & _
"2083-06-12T02:49:23.473Z" & @CRLF & _
"2020-06-12T02:49:23.473Z" & @CRLF & _
"2083-06-12T02:49:23" & @CRLF & _
"2020-06-12T02:49:23Z" & @CRLF & _
"2000-01-01" & @CRLF & _
"2000-01-99" & @CRLF & _
"12/01/1986" & @CRLF & _
"02/29/2016" & @CRLF & _
"02/29/2015" & @CRLF & _
"13/31/1986" & @CRLF & _
"12/31/1980" & @CRLF & _
"1/32/2015" & @CRLF & _
"1/31/2015" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"01012016" & @CRLF & _
"01/01/2016" & @CRLF & _
"1/1/2016" & @CRLF & _
"1/1/16" & @CRLF & _
"01/01/16" & @CRLF & _
"01-01-2016" & @CRLF & _
"1-1-2016" & @CRLF & _
"1-1-16" & @CRLF & _
"01-01-16" & @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