#include <MsgBoxConstants.au3> ; to declare the Constants of MsgBox
Local $sRegex = "("|')((?!(?!\\)(\1|\n))|(\\(.|\n))|((?!\\).))*?(\1)"
Local $sString = ""valid line"" & @CRLF & _
"" & @CRLF & _
"'valid line 2'" & @CRLF & _
"" & @CRLF & _
"''" & @CRLF & _
"" & @CRLF & _
"""" & @CRLF & _
"" & @CRLF & _
""'''"" & @CRLF & _
""''''"" & @CRLF & _
"'"""'" & @CRLF & _
"'""""'" & @CRLF & _
"" & @CRLF & _
""hello new line\" & @CRLF & _
"hello another line\" & @CRLF & _
"end blank line"" & @CRLF & _
"" & @CRLF & _
"'hello blank line\" & @CRLF & _
"\ \\g\" & @CRLF & _
"end blank line'" & @CRLF & _
"" & @CRLF & _
""\'"" & @CRLF & _
"" & @CRLF & _
""\""" & @CRLF & _
"" & @CRLF & _
""errors"" & @CRLF & _
"" & @CRLF & _
""broken line" & @CRLF & _
""" & @CRLF & _
"" & @CRLF & _
"'broken line " & @CRLF & _
"'" & @CRLF & _
"" & @CRLF & _
""broken line 2 \ffd" & @CRLF & _
"\hellod" & @CRLF & _
""" & @CRLF & _
"'\'" & @CRLF & _
""\"" & @CRLF & _
""""" & @CRLF & _
"" & @CRLF & _
"'''" & @CRLF & _
""
Local $sSubst = "newstr"
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