110,499
社区成员
发帖
与我相关
我的任务
分享
string s="你好, \\我是需要被替换的\\\"字符串\\\", 我叫\\\'李四\\\', \\\\.";
Console.WriteLine("替换前: "+s);
s= Regex.Replace(s,@"\\(?!['""\\.])","\\\\");
Console.WriteLine("替换后: "+s);
/*
替换前: 你好, \我是需要被替换的\"字符串\", 我叫\'李四\', \\.
替换后: 你好, \\我是需要被替换的\"字符串\", 我叫\'李四\', \\.
*/
void Main()
{
string s="你好, \\我是需要被替换的\"字符串\", 我叫\'李四\', \\.";
Console.WriteLine("替换前: "+s);
s= Regex.Replace(s,@"\\(?!['""\\.])","\\\\");
Console.WriteLine("替换后: "+s);
/*
替换前: 你好, \我是需要被替换的"字符串", 我叫'李四', \.
替换后: 你好, \\我是需要被替换的"字符串", 我叫'李四', \.
*/
}
正则表达式:\\(?![",\\,',\.])
(?!exp)匹配后面跟的不是exp的位置
(?<!exp)匹配前面不是exp的位置
(?<!\\)\\(?!["\\'\.])
string s="你好, \\我是需要被替换的\\\"字符串\\\", 我叫\\'李四\\', 我是不需要替换的\\\\字符串.";
Console.WriteLine("替换前: "+s);
s= Regex.Replace(s,@"(?<!\\)\\(?!['""\\.])","\\\\");
Console.WriteLine("替换后: "+s);
/*
替换前: 你好, \我是需要被替换的\"字符串\", 我叫\'李四\', 我是不需要替换的\\字符串.
替换后: 你好, \\我是需要被替换的\"字符串\", 我叫\'李四\', 我是不需要替换的\\字符串.
*/