try this:
string str = @"<script>alert('test');return false;</script>";
Regex reg = new Regex("<(\\/?script)>",RegexOptions.IgnoreCase);
Response.Write(reg.Replace(str,"[$1]"));

解决方案 »

  1.   

    string str = "<scriptdfdff\> ";
    Regex reg = new Regex("<(.+)>",RegexOptions.IgnoreCase);
    MessageBox.Show(reg.Replace(str,"[$1]"));
      

  2.   

    还不是很明白。我现在有一字符串:string str="<script>alert('dfd<<>dfd');</script>";
          str+="<script language=jscript>alert('dfddfd');</script>";
          str+="<SCRIPT>alert('dfddfd');</Script>";
    我现在要把这个字符串中的script 给替换掉。成如下格式。:string str="[script]alert('dfd<<>dfd');[/script]";
          str+="[script language=jscript]alert('dfddfd');[/script]";
          str+="[SCRIPT]alert('dfddfd');[/Script]";
    该怎么用正则表达史来达到目的。
      

  3.   

    你这样一次是无法达到的。你要针对每一个字符串替换才行!也就说用三次。用: mmkk() 的方法
      

  4.   

    string str="<script>alert('dfd<<>dfd');</script>";
    str+="<script language=jscript>alert('dfddfd');</script>";
    str+="<SCRIPT>alert('dfddfd');</Script>";
    Regex reg = new Regex("<(\\/?script[^>]*)>",RegexOptions.IgnoreCase);
    Response.Write(reg.Replace(str,"[$1]"));
    需要引用:System.Text.RegularExpressions;
    reg.Replace(str,"[$1]");得到的就是替换结果
      

  5.   

    哈哈,我白写了,看来还是理解错了,你是为了在网页上显示出来而不执行吗?如果是这样,为什么不替换<和>为&lt;和&gt;?
      

  6.   

    因为string 里面有本身的不少html文件,所有<>号不能替换。
    而且那个字符串是不固定的,所以并不知道有多少个<script
     请问该怎么写正则表达式?
      

  7.   

    mmkk() ( )是对的。你照这个方法就行了。