我也不太懂,你试试看行不:<.* .*='.*' class='.*'>(.*)</.*>
()内的那部分应该是你需要的。

解决方案 »

  1.   

    try
     
    string YourString = "<xxx xxx='xx' class='title'>YYYY</xxx>";
    Regex r = new Regex(@"<[^>]+class\s*=\s*(['""]?)title\1[^>]*>(?<text>[^<]+)<[^>]+>", RegexOptions.IgnoreCase); Match m  = r.Match(YourString);
    if (m.Success)
    {
       string s = m.Groups["text"].Value;
    Console.WriteLine(s);
    }
      

  2.   

    .*不行,因为这样会把(在设置RegexOptions.Singleline的情况下)的任何字符都匹配进去,也就是说,使用了".*"后,.*一直匹配到字符串的结尾。
      

  3.   

    呼呼,saucer(思归, MS .NET MVP)的果然好用!
    可是,能给我们详细讲解一下为什么这么写么?我看得不太懂。
      

  4.   

    <[^>]+class\s*=\s*(['""]?)title\1[^>]*>(?<text>[^<]+)<[^>]+>1. [^>]+ 匹配一个字符以上的非>的字符串2. (['""]?) 匹配可能存在的一个单引号或双引号\1 匹配前面的可能存在的单引号或双引号意即,title可以"title"或'title'或title形式出现3. [^>]* 匹配可能存在的一串非>的字符串4. (?<text>[^<]+) 匹配一个字符以上的非<的字符串, 并将其内容保存在m.Groups["text"].Value里5. <[^>]+> 匹配一个其内不包含">"字符的标识符(<...>)
      

  5.   

    万分谢谢,现在我搞懂了。MS.NET MVP名不虚传哪