#include <MsgBoxConstants.au3> ; to declare the Constants of MsgBox
Local $sRegex = "(?m)([^abc]*?)(a)|(b)|(c)|(ab)|(ba)|(ac)|(ca)|(bc)|(cb)|(abc)|(acb)|(bac)|(bca)|(cab)|(cba)"
Local $sString = "abracadabra" & @CRLF & _
"a b c" & @CRLF & _
"aa bb cc" & @CRLF & _
"ab ac ba bc ca cb" & @CRLF & _
"abc acb bac bca cab cba"
Local $sSubst = "$1${2:+b}${3:+c}${4:+a}${5:+bc}${6:+cb}${7:+ba}${8:+ab}${9:+ca}${10:+ac}${11:+bca}${12:+bac}${13:+cba}${14:+cab}${15:+abc}${16:+acb}"
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