读书人

vs2008运用正则替换

发布时间: 2012-06-23 14:52:43 作者: rapoo

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);        } 

读书人网 >C#

热点推荐