我们如何在字符串中'
替换为。\\'
(这可以使用但是,只有在没有或之前Regex.IsMatch(), Regex.Matches(), Regex.Replace()
才应该这样做。(这是我卡住的地方)'
\
\\
这意味着找到所有'
没有\
或\\
之前没有的,然后添加相同的,即'
替换为\\'
示例字符串:'abcd\'efg'hijkl'mno\\'pqrs'
结果字符串:\\'abcd\\'efg\\'hijkl\\'mno\\'pqrs\\'
甚至不需要正则表达式。
var newStr = oldStr.Replace("\\'", "'").Replace("'", "\\'");
使用正则表达式,您可以找到之前'
没有的所有内容\\
:
[^\\]'
我认为@YoryeNathan 赢了。但只是为了教一个正则表达式课程,这正是负面的后向断言存在的原因。代替
(?<!\\\\)'
和
\\'
用法
string output = Regex.Replace(input, "(?<!\\\\)'", "\\'");