正则表达式 替换问题
我现在在弄生成静态页的问题,生成之后,页面里面的链接还是.aspx的,比如:a.aspx?m=10&n=8,那么如果我想替换掉它,替换成a_m10_n8.html,这个正则该怎么写?或者是别的方法?还有我具体该怎么替换,比如说先如何找到匹配的(求方法),并如何去替换掉
[解决办法]
那你用的应该是.NET FRAMEWORK 2.0吧,
Try:
void Main(){ string yourhtml="<a href=\"a.aspx?m=10&n=8\">例子</a>"; yourhtml=Regex.Replace(yourhtml,@"(?i)(?<=<a\shref=(['""]?))(\w+)\.aspx(\?[^?'""]+)?(?=\1)", delegate(Match m){return string.Format("{0}.html",m.Groups[2].Value+m.Groups[3].Value.Replace("&","_").Replace("?","_").Replace("=",""));}); Console.WriteLine(yourhtml);}