#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?mi)\b(?:(?:[A-Z][A-HJ-Y]?[0-9][0-9A-Z]?|ASCN|STHL|TDCU|BBND|[BFS]IQ{2}|GX11|PCRN|TKCA) ?[0-9][A-Z]{2}|GIR ?0A{2}|SAN ?TA1|AI-?[0-9]{4}|BFPO[ -]?[0-9]{2,3}|MSR[ -]?1(?:1[12]|[23][135])0|VG[ -]?11[1-6]0|[A-Z]{2} ? [0-9]{2}|KY[1-3][ -]?[0-2][0-9]{3})\b"
Local $sString = "M1 1AA" & @CRLF & _
"M60 1NW" & @CRLF & _
"CR2 6XH" & @CRLF & _
"DN55 1PT" & @CRLF & _
"GY101ZZ" & @CRLF & _
"W1A 1HQ" & @CRLF & _
"EC1A 1BB" & @CRLF & _
"CW3 9SS" & @CRLF & _
"SE5 0EG" & @CRLF & _
"SE50EG" & @CRLF & _
"se5 0eg" & @CRLF & _
"WC2H 7LT" & @CRLF & _
"BS98 1TL" & @CRLF & _
"BX1 1LT" & @CRLF & _
"BX2 1LB" & @CRLF & _
"BX3 2BB" & @CRLF & _
"BX4 7SB" & @CRLF & _
"BX5 5AT" & @CRLF & _
"CF10 1BH" & @CRLF & _
"CF99 1NA" & @CRLF & _
"CV4 8UW" & @CRLF & _
"CV35 0DB" & @CRLF & _
"DA1 1RT" & @CRLF & _
"DE99 3GG" & @CRLF & _
"DE55 4SW" & @CRLF & _
"DH98 1BT" & @CRLF & _
"DH99 1NS" & @CRLF & _
"E14 5HQ" & @CRLF & _
"E14 5JP" & @CRLF & _
"E16 1XL" & @CRLF & _
"E20 2AQ" & @CRLF & _
"E20 2BB" & @CRLF & _
"E20 2ST" & @CRLF & _
"E20 3BS" & @CRLF & _
"E20 3EL" & @CRLF & _
"E20 3ET" & @CRLF & _
"E20 3HB" & @CRLF & _
"E20 3HY" & @CRLF & _
"E98 1SN" & @CRLF & _
"E98 1ST" & @CRLF & _
"E98 1TT" & @CRLF & _
"EC2N 2DB" & @CRLF & _
"EC4Y 0HQ" & @CRLF & _
"EH12 1HQ" & @CRLF & _
"EH99 1SP" & @CRLF & _
"G58 1SB" & @CRLF & _
"GIR 0AA" & @CRLF & _
"IV21 2LR" & @CRLF & _
"L30 4GB" & @CRLF & _
"LS98 1FD" & @CRLF & _
"M50 2BH" & @CRLF & _
"M50 2QH" & @CRLF & _
"N1 9GU" & @CRLF & _
"N81 1ER" & @CRLF & _
"NE1 4ST" & @CRLF & _
"NG80 1EH" & @CRLF & _
"NG80 1LH" & @CRLF & _
"NG80 1RH" & @CRLF & _
"NG80 1TH" & @CRLF & _
"MSR1110" & @CRLF & _
"MSR1120" & @CRLF & _
"MSR1210" & @CRLF & _
"MSR1230" & @CRLF & _
"MSR1250" & @CRLF & _
"MSR1310" & @CRLF & _
"MSR1330" & @CRLF & _
"MSR1350" & @CRLF & _
"PH1 5RB" & @CRLF & _
"PH1 2SJ" & @CRLF & _
"S2 4SU" & @CRLF & _
"S6 1SW" & @CRLF & _
"SB 01" & @CRLF & _
"VG1110" & @CRLF & _
"S14 7UP" & @CRLF & _
"SE1 0NE" & @CRLF & _
"SE1 8UJ" & @CRLF & _
"SM6 0HB" & @CRLF & _
"SN38 1NW" & @CRLF & _
"SR5 1SU" & @CRLF & _
"SW1A 0AA" & @CRLF & _
"WC1N2PL" & @CRLF & _
"SW1A 0PW" & @CRLF & _
"SW1A 1AA" & @CRLF & _
"SW1A 2AA" & @CRLF & _
"SW1A 2AB" & @CRLF & _
"SW1H 0TL" & @CRLF & _
"SW1P 3EU" & @CRLF & _
"SW1W 0DT" & @CRLF & _
"TW8 9GS" & @CRLF & _
"W1A 1AA" & @CRLF & _
"W1D 4FA" & @CRLF & _
"W1N 4DJ" & @CRLF & _
"W1T 1FB" & @CRLF & _
"CO4 3SQ" & @CRLF & _
"SAN TA1" & @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