你可以使用lookbehind:
var output = Regex.Replace(input, @"(?<!\\)""", @"\""")
Run Code Online (Sandbox Code Playgroud)
或者你可以让前面的字符可选,例如:
var output = Regex.Replace(input, @"\\?""", @"\""")
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为"被替换为\"(这是你想要的),并被\"替换为\",所以没有改变.