#include <MsgBoxConstants.au3> ; to declare the Constants of MsgBox
Local $sRegex = "(?m)^([0-9]{4}-?[Xx0-9]{4})([^\n0-9].*)?$"
Local $sString = "1234-5678 ÿþT(zlsd?k+j''fh{l}x[a]j).,~!@#$%^&*()_+{}|:<>?`"\;''/-" & @CRLF & _
"1234-5678 " & @CRLF & _
"1234-567X " & @CRLF & _
"12345678 " & @CRLF & _
"1234567X" & @CRLF & _
"" & @CRLF & _
"1234567899" & @CRLF & _
"1234567899x"
Local $sSubst = "\1"
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