#include <MsgBoxConstants.au3> ; to declare the Constants of MsgBox
Local $sRegex = "(?x)# Look for `Wild Draw Four` or simply `Wild`" & @CRLF & _
"# `W` stored in \1, `D` and `F` stored in \2 and \3, respectively" & @CRLF & _
"(W)I\ LD(?:\ (D)raw\ (F)our)?" & @CRLF & _
"|" & @CRLF & _
"" & @CRLF & _
"# Look for `Draw Two` or `Draw Four`" & @CRLF & _
"# `D` stored in \4, `T` or `F` stored in \5" & @CRLF & _
"(D)raw\ (?|(T)wo|(F)our)" & @CRLF & _
"|" & @CRLF & _
"" & @CRLF & _
"# Look for the color and then the card type or number value" & @CRLF & _
"# `R`, `G`, `Y`, and `B` stored in \6" & @CRLF & _
"# `S`, `R` or number value stored in \7" & @CRLF & _
"(?:(?|(R)ed|(G)reen|(Y)ellow|(B)lue)\ " & @CRLF & _
" (?|(S)kip" & @CRLF & _
" |(R)everse" & @CRLF & _
" |(\d)" & @CRLF & _
" )" & @CRLF & _
")"
Local $sString = "GIVEN:" & @CRLF & _
"Green 4 Green 4 Green 7 WI LD Green 9 Green 9 Red 3 Red 3 Red 4 WI LD Draw Four Red 5 Red Reverse Yellow 0 Yellow Skip Green 8 WI LD Draw Four" & @CRLF & _
"" & @CRLF & _
"DESIRED:" & @CRLF & _
"G4 G4 G7 W G9 G9 R3 R3 R4 WDF R5 RR Y0 YS G8 WDF" & @CRLF & _
""
Local $sSubst = "\1\2\3\4\5\6\7"
Local $sResult = StringRegExpReplace($sString, $sRegex, $sSubst)
MsgBox($MB_SYSTEMMODAL, "Result", $sResult)
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