#include <MsgBoxConstants.au3> ; to declare the Constants of MsgBox
Local $sRegex = "(?m)^(?'id'[0-9a-fA-F]{2})(?:-(?'id_to'\w+))? ([ \/\w-]+)(?: [\/\w]+ \d+\.\d+)?$"
Local $sString = "00 Undefined" & @CRLF & _
"01 Flight Simulation Device CA 5.2" & @CRLF & _
"02 Automobile Simulation Device CA 5.3" & @CRLF & _
"03 Tank Simulation Device CA 5.4" & @CRLF & _
"04 Spaceship Simulation Device CA 5.2" & @CRLF & _
"05 Submarine Simulation Device CA 5.5" & @CRLF & _
"06 Sailing Simulation Device CA 5.5" & @CRLF & _
"07 Motorcycle Simulation Device CA 5.6" & @CRLF & _
"08 Sports Simulation Device CA 5.1" & @CRLF & _
"09 Airplane Simulation Device CA 5.2" & @CRLF & _
"0A Helicopter Simulation Device CA 5.2" & @CRLF & _
"0B Magic Carpet Simulation Device CA 5.7" & @CRLF & _
"0C Bicycle Simulation Device CA 5.6" & @CRLF & _
"0D-1F Reserved" & @CRLF & _
"20 Flight Control Stick CA 5.2" & @CRLF & _
"21 Flight Stick CA 5.2" & @CRLF & _
"22 Cyclic Control CP 5.2" & @CRLF & _
"23 Cyclic Trim CP 5.2" & @CRLF & _
"24 Flight Yoke CA 5.2" & @CRLF & _
"25 Track Control CP 5.4" & @CRLF & _
"26-AF Reserved" & @CRLF & _
"B0 Aileron DV 5.2" & @CRLF & _
"B1 Aileron Trim DV 5.2" & @CRLF & _
"B2 Anti-Torque Control DV 5.2" & @CRLF & _
"B3 Autopilot Enable OOC 5.2" & @CRLF & _
"B4 Chaff Release OSC 5.2" & @CRLF & _
"B5 Collective Control DV 5.2" & @CRLF & _
"B6 Dive Brake DV 5.2" & @CRLF & _
"B7 Electronic Countermeasures OOC 5.2" & @CRLF & _
"B8 Elevator DV 5.2" & @CRLF & _
"B9 Elevator Trim DV 5.2" & @CRLF & _
"BA Rudder DV 5.2" & @CRLF & _
"BB Throttle DV 5.2" & @CRLF & _
"BC Flight Communications OOC 5.2" & @CRLF & _
"BD Flare Release OSC 5.2" & @CRLF & _
"BE Landing Gear OOC 5.2" & @CRLF & _
"BF Toe Brake DV 5.2" & @CRLF & _
"C0 Trigger MC 5.2" & @CRLF & _
"C1 Weapons Arm OOC 5.2" & @CRLF & _
"C2 Weapons Select OSC 5.2" & @CRLF & _
"54" & @CRLF & _
"C3 Wing Flaps DV 5.2" & @CRLF & _
"C4 Accelerator DV 5.3" & @CRLF & _
"C5 Brake DV 5.3" & @CRLF & _
"C6 Clutch DV 5.3" & @CRLF & _
"C7 Shifter DV 5.3" & @CRLF & _
"C8 Steering DV 5.3" & @CRLF & _
"C9 Turret Direction DV 5.4" & @CRLF & _
"CA Barrel Elevation DV 5.4" & @CRLF & _
"CB Dive Plane DV 5.5" & @CRLF & _
"CC Ballast DV 5.5" & @CRLF & _
"CD Bicycle Crank DV 5.6" & @CRLF & _
"CE Handle Bars DV 5.6" & @CRLF & _
"CF Front Brake DV 5.6" & @CRLF & _
"D0 Rear Brake DV 5.6" & @CRLF & _
"D1-FFFF Reserved" & @CRLF & _
""
Local $sSubst = "\t${id_to:+// 0x${id}-0x${id_to} $3:${name} = 0x${id},}"
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