#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?im)(\+|\-)?(\d{1,})(?:\s|)(ms|millisecond(?:\(s\)|s|)|second(?:\(s\)|s|)|sec|s(?:\s|$)|minute(?:\(s\)|s|)|min|m(?:\s|$)|h(?:\s|$)|hour(?:\(s\)|s|)|h(?:\s|$)|day(?:\(s\)|s|)|d(?:\s|$)|week(?:\(s\)|s|)|w(?:\s|$)|month(?:\(s\)|s|)|mm(?:\s|$)|year(?:\(s\)|s|)|y(?:\s|$))(?:\s|$)?"
Local $sString = "+1ms" & @CRLF & _
"+19milliseconds" & @CRLF & _
"+7 milliseconds" & @CRLF & _
"-1 millisecond" & @CRLF & _
"+7 s" & @CRLF & _
"+8 s" & @CRLF & _
"+4 seconds" & @CRLF & _
"-1 second" & @CRLF & _
"" & @CRLF & _
"+10 minutes" & @CRLF & _
"+1A minutes" & @CRLF & _
"-1 minute" & @CRLF & _
"+1m" & @CRLF & _
"-1m" & @CRLF & _
"+1 m" & @CRLF & _
"-2 m" & @CRLF & _
"1 more time" & @CRLF & _
"1min" & @CRLF & _
"1 min" & @CRLF & _
"" & @CRLF & _
"+19 hours" & @CRLF & _
"-1 hour" & @CRLF & _
"+1h" & @CRLF & _
"-1h" & @CRLF & _
"+1 h" & @CRLF & _
"-2 h" & @CRLF & _
"" & @CRLF & _
"+1 day(s)" & @CRLF & _
"" & @CRLF & _
"+2 week(s)" & @CRLF & _
"" & @CRLF & _
"+3mm" & @CRLF & _
"+3 month(s)" & @CRLF & _
"" & @CRLF & _
"+4 year(s)" & @CRLF & _
"" & @CRLF & _
"1ms" & @CRLF & _
"" & @CRLF & _
"public Myles +1 minute" & @CRLF & _
"Porter Robinson & Madeon - Shelter - Acapella Cover" & @CRLF & _
"haha xd +4 years lol"
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