Asp.net 程序:
string rere="";//存放正则表达式 
rere = "<div\\s+class=\"blkContainerSblkCon\"\\s+id=\"artibody\">(?<content>.+)([\\s\\S]*)";
 Regex reg = new Regex(rere);
HTML是:
<div class="blkContainerSblkCon" id="artibody"> <!-- publish_helper name='原始正文' p_id='1' t_id='1' d_id='21836924' f_id='3' -->
<p>  昨天,人社部中国人事科学研究院院长吴江接受本报记者专访时表示,此前启动的5个事业单位改革全国试点,目前仍在试点阶段,并未停滞。</p>.....
结果:"\r" 。 不懂为什么?不是应该是:<!-- publish_helper name='原始正文' p_id='1' t_id='1' d_id='21836924' f_id='3' -->
<p>  昨天,人社部中国人事科学研究院院长吴江接受本报记者专访时表示,此前启动的5个事业单位改革全国试点,目前仍在试点阶段,并未停滞。</p>.....
为什么 结果却是"\r".

解决方案 »

  1.   

    string str = "<div class=\"blkContainerSblkCon\" id=\"artibody\"><!-- publish_helper name='原始正文' p_id='1' t_id='1' d_id='21836924' f_id='3' --><p>  昨天,人社部中国人事科学研究院院长吴江接受本报记者专访时表示,此前启动的5个事业单位改革全国试点,目前仍在试点阶段,并未停滞。</p></div>";
                Regex reg = new Regex(@"(?is)<div\s+class=""blkContainerSblkCon""\s+id=""artibody""[^>]*>(.*?)</div>");
                MatchCollection mc = reg.Matches(str);
                foreach (Match m in mc)
                {
                  Console.Write( m.Groups[1].Value + "\n");
                }
      

  2.   

    你从哪里看到的是“\r”?Regex reg = new Regex(@"(?is)<div\s+class=""blkContainerSblkCon""\s+id=""artibody"">(?<content>.+)");
    MatchCollection mc = reg.Matches(yourStr);
    foreach (Match m in mc)
    {
        richTextBox2.Text += m.Groups["content"].Value + "\n";
    }
    /*------输出-------
    <!-- publish_helper name='原始正文' p_id='1' t_id='1' d_id='21836924' f_id='3' -->
    <p>  昨天,人社部中国人事科学研究院院长吴江接受本报记者专访时表示,此前启动的5个事业单位改革全国试点,目前仍在试点阶段,并未停滞。</p>.....
    */