#include <MsgBoxConstants.au3> ; to declare the Constants of MsgBox
Local $sRegex = "(?m)(\d)(?:(-)(\d))+"
Local $sString = "5-4-2" & @CRLF & _
"" & @CRLF & _
"El primer grupo es el primer número" & @CRLF & _
"El segundo grupo es la operación (para simplificar, siempre resta)" & @CRLF & _
"El tercer grupo es el siguiente número" & @CRLF & _
"" & @CRLF & _
"El problema es que con esta expresión: (?:(-)(\d))+" & @CRLF & _
"capturas "-4", pero como se puede repetir, " & @CRLF & _
"luego capturas "-2" y machacas los valores que tenías " & @CRLF & _
"en el segundo y tercer grupo de captura"
Local $sSubst = "El resultado es: \1\2\3"
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