<div class="content mt10">
                <pre id="question-content">这是另外一个标签</pre>
</div><div class="body">
            <div class="content">
                <pre id="best-answer-content" class="reply-text mb10">
我要取得这个标签中的内容
</pre>
</div>
</div>我有这么一段html的字符串,我想用c#的正则表达式取得
 <pre id="best-answer-content" class="reply-text mb10">
标签里的内容,其中这个标签的id不一定是“best-answer-content”,会发生变化的,但是class是不变的,这个表达式该怎么写呢

解决方案 »

  1.   

    <[^>]+?class="reply-text mb10">
      

  2.   

    try...(?is)<pre[^>]*?class="reply-text mb10">.*?</pre>
      

  3.   

    其实我也是新手.
    这个应该是可以的.
    建议正则的话.可以看下MS的MSDN
    相当的全面
    正则表达式语言元素
      

  4.   

               string str= @"<div class=""content mt10"">
      <pre id=""question-content"">这是另外一个标签</pre>
    </div><div class=""body"">
      <div class=""content"">
      <pre id=""best-answer-content"" class=""reply-text mb10"">
    我要取得这个标签中的内容
    </pre>
    </div>
    </div>";
               Regex reg = new Regex(@"(?is)(?<=<pre[^>]*?class=""reply-text\smb10""[^>]*?>)(?:(?!</?pre).)*");
               foreach (Match m in reg.Matches(str))
                   Console.WriteLine(m.Value);
                Console.ReadLine();
    //我要取得这个标签中的内容
      

  5.   

    try...Regex reg = new Regex(@"(?is)<pre[^>]*?class=""reply-text mb10""[^>]*>(.*?)</pre>");
    MatchCollection mc = reg.Matches(yourStr);
    foreach (Match m in mc)
    {
        richTextBox2.Text += m.Groups[1].Value.Trim() + "\n";
    }
    /*-----输出-----
    我要取得这个标签中的内容
    */