日期:2014-05-18  浏览次数:20487 次

c#中正则表达式高手请进
在某些语言中正则表达式可以直接设置/gi就实现全局且忽视大小写了,但是在c#中貌似不能,也可能是我不知道,现有两个很想知道的问题
①如果用
 Regex re = new Regex(patten, RegexOptions.IgnoreCase);
的话,那么只能实现忽视大小写,我想要实现全局搜索与忽视大小写同时进行,要如何操作?
②我的正则表达式如下:
"__viewstate"\s+value="/?[\w+/]+
在c#中如果要操作的话,要如何进行?还有就是转义有什么好办法?我现在都是
string patten= "\"__viewstate\"\\s+value=\"/?[\\w+/]+\"\\s+/>"
这样操作的话,一个不小心掉一个\号就错了,求高招

望高人指点

------解决方案--------------------
用内联写法,不用枚举参数:
正则字符串开头加上(?is)就是忽略大小写、且单行模式。

用@"__viewstate""\s+value=""/?[\w+/]+"
就是开头加上@,然后把字符串里的"改成"",这样可读性好些。