#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)(((\d{4,}(?:[\.,]\d+)?)|((\d{1,3}(?:((\.)|,)\d{1,3})?(?:\6\d{1,3})*(?:(?(7),|\.)\d+)?)))\s*(?:[a-zA-Z]*))"
Local $sString = "123mm" & @CRLF & _
"123mm" & @CRLF & _
"123 mm" & @CRLF & _
"123 mm" & @CRLF & _
"123MM" & @CRLF & _
"123MM" & @CRLF & _
"123 MM" & @CRLF & _
"123 MM" & @CRLF & _
"" & @CRLF & _
"123,45mm" & @CRLF & _
"123.45mm" & @CRLF & _
"123,45 mm" & @CRLF & _
"123.45 mm" & @CRLF & _
"123,45MM" & @CRLF & _
"123.45MM" & @CRLF & _
"123,45 MM" & @CRLF & _
"123.45 MM" & @CRLF & _
"" & @CRLF & _
"1.234,56mm" & @CRLF & _
"1,234.56mm" & @CRLF & _
"1.234,56 mm" & @CRLF & _
"1,234.56 mm" & @CRLF & _
"1.234,56MM" & @CRLF & _
"1,234.56MM" & @CRLF & _
"1.234,56 MM" & @CRLF & _
"1,234.56 MM" & @CRLF & _
"" & @CRLF & _
"4.321.234,56mm" & @CRLF & _
"4,321,234.56mm" & @CRLF & _
"4.321.234,56 mm" & @CRLF & _
"4,321,234.56 mm" & @CRLF & _
"4.321.234,56MM" & @CRLF & _
"4,321,234.56MM" & @CRLF & _
"4.321.234,56 MM" & @CRLF & _
"4,321,234.56 MM" & @CRLF & _
"" & @CRLF & _
"4.321,234.56mm" & @CRLF & _
"4,321,234,56mm" & @CRLF & _
"4.321.234,56 mm" & @CRLF & _
"4,321.234.56 mm" & @CRLF & _
"4.321.234,56MM" & @CRLF & _
"4.321,234.56MM" & @CRLF & _
"4.321.234,56 MM" & @CRLF & _
"123,499,321,234.56 MMillimeter George Washington" & @CRLF & _
"" & @CRLF & _
"123456.23mm" & @CRLF & _
"123456,23mm" & @CRLF & _
"123456..23mm" & @CRLF & _
"123456.,23mm" & @CRLF & _
"123,456,789.23" & @CRLF & _
"" & @CRLF & _
"1.234,56MM 1,234.56MM 1.234,56 MM ,234.56 MM Alabama" & @CRLF & _
"" & @CRLF & _
"4.321.234,56mm 4,321,234.56mm 4.321.234,56 mm 4,321,234.56 mm South Africa"
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