vs2008使用正则替换
比如以下文本:
charszAccept[] = "Accept: */*";
charszReferer[] = "Referer: http://mail.sina.com.cn/\r\n";
将之替换成:
charszAccept[] = _T("Accept: */*");
charszReferer[] = _T("Referer: http://mail.sina.com.cn/\r\n");
使用正则查找内容:".*?"
替换为:_T(".*?")
弹出"未找到以下内容".*?""
[解决办法]
是给加上UNICODE标记是吧。不用那么麻烦,字符串前面写个L就可以了。
- C# code
private void TestRegex19() { string yourStr = @"char szAccept[] = ""Accept: */*"";char szReferer[] = ""Referer: http://mail.sina.com.cn/\r\n"";"; string result = Regex.Replace(yourStr, @"(?isn)(?<front>char\s*(?!\d)\w+\w*?(\[\]|\*) *= *)(?<text>"".*?"")(?<end> *;)", "$1L$2$3"); MessageBox.Show(result); }