花了一晚的时间去研究javascript的正则表达式。
看完后觉得用起来比较方便。但今天想把一些常用的正则做成一个公用函数,头大了~~~C#的正则好像与javascript的不太一样。MSDN上面写的看得晕晕乎乎的。也尝试着试了一下。没成功。大家帮帮忙 ,看看下面这个正则应该如何改写才是正确的javasctip的
var str = "this is my test!\n a new line";
var re = /\\n/gi;
str = str.replace(re,"<br>");
alert(str);C#的我自己试了几次都没有成功。。大家给个方!!谢谢!

解决方案 »

  1.   

    string str = "this is my test!\n a new line";
    str = Regex.Replace(str, "\n", "<br>", RegexOptions.IgnoreCase);
    Text = str;
      

  2.   

    //杀鸡用牛刀
    string str = "this is my test!\n a new line";
    Text = str.Replace("\n", "<br>");
      

  3.   

    原来\n是不用\\n来转义的呀!:)嘿嘿。不知道来的!!!不是杀鸡用牛刀,以后写成UBBCode放在后台会写得大些,不得不用正则啊:)
      

  4.   

    不是不转义,直接是换行字符
    标准是这样,@后面就是原表达式str = Regex.Replace(str, @"\n", "<br>", RegexOptions.IgnoreCase);都一个意思str = Regex.Replace(str, "\\n", "<br>", RegexOptions.IgnoreCase);比如:\r之类,你自己动手测试印象更深让我想起一个故事
    美国和中国的学生一起参加数学考试
    考试的题目是:
    现在是12点整,时针和分针正好重合,请问要经过多长时间时针和分针才能再次重合?美国学生的反应是不约而同的拨动腕上的手表,看时针和分针什么时候才能再次重合。
    而在场的中国学生立即拿出纸和笔,埋头列出一大堆公式并开始计算。 简单的方式解决问题最好
      

  5.   

    谢谢!刚刚试验完成!:)只是写出来的感觉 不如javascript的流畅!写了个的:)
    string re, reE;
    re = "(\\[img\\])(.[^\\[]*)(\\[\\/img\\])";
    reE = "<img src=$2 border=0 onload='javascript:if(this.width>200)this.width=200'>";
    StrContent = Regex.Replace(StrContent, re, reE, RegexOptions.IgnoreCase);
    return StrContent;