#include <MsgBoxConstants.au3> ; to declare the Constants of MsgBox
Local $sRegex = "(Armor.)([a-zA-Z]+)(, Surface.)([a-zA-Z]+)(, name)"
Local $sString = "internal CruiserTorpedo(Player owner) : this(owner, "") {" & @CRLF & _
" }" & @CRLF & _
"" & @CRLF & _
" internal CruiserTorpedo(string name) : base("Torpedo Cruiser"," & @CRLF & _
" new UnitDimensions(4)," & @CRLF & _
" new List<Weapon> { new ShipGunSmall(0, 0), new ShipGunSmall(0, 1), new TorpedoTube(0, 2), new AAAGun(0, 3) }," & @CRLF & _
" Armor.Light, Surface.Water, name) {" & @CRLF & _
" }"
Local $sSubst = "$1$2$3$4, 1$5"
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