#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)^(I[VX]|VI{0,3}|I{1,3})|((X[LC]|LX{0,3}|X{1,3})(I[VX]|V?I{0,3}))|((C[DM]|DC{0,3}|C{1,3})(X[LC]|L?X{0,3})(I[VX]|V?I{0,3}))|(M+(C[DM]|D?C{0,3})(X[LC]|L?X{0,3})(I[VX]|V?I{0,3}))$"
Local $sString = "I" & @CRLF & _
"II" & @CRLF & _
"III" & @CRLF & _
"IV" & @CRLF & _
"V" & @CRLF & _
"VI" & @CRLF & _
"VII" & @CRLF & _
"VIII" & @CRLF & _
"IX" & @CRLF & _
"X" & @CRLF & _
"XI" & @CRLF & _
"XII" & @CRLF & _
"XIII" & @CRLF & _
"XIV" & @CRLF & _
"XV" & @CRLF & _
"XVI" & @CRLF & _
"XVII" & @CRLF & _
"XVIII" & @CRLF & _
"XIX" & @CRLF & _
"XX" & @CRLF & _
"XLIV" & @CRLF & _
"XLIX" & @CRLF & _
"LXXIX" & @CRLF & _
"XCIV" & @CRLF & _
"XCIX" & @CRLF & _
"C" & @CRLF & _
"CI" & @CRLF & _
"CII" & @CRLF & _
"CIII" & @CRLF & _
"CIV" & @CRLF & _
"CVI" & @CRLF & _
"CIX" & @CRLF & _
"CD" & @CRLF & _
"CM" & @CRLF & _
"CC" & @CRLF & _
"CCC" & @CRLF & _
"D" & @CRLF & _
"DC" & @CRLF & _
"DCC" & @CRLF & _
"DCCC" & @CRLF & _
"CX" & @CRLF & _
"CXX" & @CRLF & _
"CXIX" & @CRLF & _
"CMXCIX" & @CRLF & _
"MCMXLIV" & @CRLF & _
"MMMMCCCXII" & @CRLF & _
"" & @CRLF & _
"" & @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