public static string LostHTML(string Str)
        {
            string Re_Str = "";
            if (Str != null)
            {
                if (Str != string.Empty)
                {
                    string Pattern = "<\\/*[^<>]*>";
                    Re_Str = Regex.Replace(Str, Pattern, "");
                }
            }
            return (Re_Str.Replace("\\r\\n", "")).Replace("\\r", "");
        }
======================================================
1.
string Pattern = "<\\/*[^<>]*>";
这个正则表达式表示什么呀2.
Re_Str.Replace("\\r\\n", ""))这个正则表达式中\\r表示什么??谢谢

解决方案 »

  1.   

    1. string Pattern = "<\\/*[^<>]*>";
       表达式是要匹配 以 <\ 开头,以 > 结尾,并且中间不出现 < 和 > 的字符串。 比如 <\>,<\?>,<\s?>等。
       如果LZ是想匹配html的结尾标签,可以试试这个 </\w+?>2.Re_Str.Replace("\\r\\n", ""))
      意思是将字符串Re_Str中的 \r\n 用空格替换掉。
      \\r 即 \r 
      \是转义符,两个\\一起就表示 \ 本身了。
      

  2.   


    应该是 以 < 开头,接着0个或多个/,然后是0个或多个非<>的字符,最后以 > 结尾。
    正则中的 \/ 其实就是 / 本身。(/可以不用转义,写作 / 也可以)。
      

  3.   

    using System;
    using System.Text.RegularExpressions;class Program
    {
      static void Main()
      {
        Console.WriteLine(new Regex("^\\/+$").IsMatch("////"));  // 输出:True,匹配。
        Console.WriteLine(new Regex("^\\/+$").IsMatch("\\//"));  // 输出:False,不匹配。
        // 由上可见,正则式 "\\/" 就是表示 '/' 这个字符本身,而不是 \ 后面跟 /。      Console.WriteLine(new Regex("\\/+").Match("////").Value);  // 输出:////
        Console.WriteLine(new Regex("\\/+").Match("\\//").Value);  // 输出://
        // 这更能说明问题:"\\/" 在C#中其实就是字符串 @"\/" ,正则把 \/ 解释为: /。
      }
    }
      

  4.   


    wuyi8808 是正确的,我大意了。
    不过我用的正则测试工具结果是这样:
    Regex:   \\/+
    Source:  \\//
    Matches: \//
    因为测试工具事先对Regex中的 \ 转义了。等效于 Regex reg = new Regex(@"\\/+");