日期:2014-05-17  浏览次数:20442 次

正则表达式 替换问题
我现在在弄生成静态页的问题,生成之后,页面里面的链接还是.aspx的,比如:a.aspx?m=10&n=8,那么如果我想替换掉它,替换成a_m10_n8.html,这个正则该怎么写?或者是别的方法?还有我具体该怎么替换,比如说先如何找到匹配的(求方法),并如何去替换掉

------解决方案--------------------
那你用的应该是.NET FRAMEWORK 2.0吧,
Try:
C# code

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