<p class="sms" mid="2211103042588254169" type="1"><a  namecard="true" uid="1243861097" href="http://t.sina.com.cn/qilixiang" title="李想">李想<img class="small_icon vip" dynamic-src="http://img.t.sinajs.cn/t3/style/images/common/transparent.gif" title="新浪认证" alt=""/></a>:扎胎:扎胎和车型及轮胎型号关系不大,一般公路上的扎胎的原理是,前轮把钉子(类钉子)带起来,后轮压过去,所以90%的扎胎集中在后轮,钉子比较难自己站着被车压。所以“和扎胎关系最大的是车速与轴距的关系”。普通胎和防爆胎都可以补底面,侧面不能补。别被4S店忽悠了。</p>
我想抓 <p class="sms" mid="2211103042588254169" type="1">和
</p>
之间的东西看了 《过客》的正则表达式学习资料也没全弄懂,还是厚颜无耻的来求一个正则表达式。多谢

解决方案 »

  1.   


    <p\s*class="sms"\s*mid="[^"]*"\s*type="1"[^>]*>([\s\S]*?)</p>
      

  2.   

    <p class="sms" mid="/d" type="1">*</p>
     我不会写 就这个类似吧
      

  3.   

    能不能另外在给<p>标签取一个ID,如果可以就可以获取里面的内容
      

  4.   

    <p (?<=)id.*?>(.*?)</p>
      

  5.   

    <p.*?(?<=)id.*?>(.*?)</p> //update
      

  6.   

                string str = "fsdafsad<p class=\"sms\" mid=\"2211103042588254169\" type=\"1\">"
                    + "<a namecard=\"true\" uid=\"1243861097\" href=\"http://t.sina.com.cn/qilixiang\" title=\"李想\">"
                    + "李想<img class=\"small_icon vip\" dynamic-src=\"http://img.t.sinajs.cn/t3/style/images/common/transparent.gif\" "
                    + "title=\"新浪认证\" alt=\"\"/></a>:扎胎:扎胎和车型及轮胎型号关系不大,一般公路上的扎胎的原理是,前轮把钉子(类钉子)带起来,"
                    + "后轮压过去,所以90%的扎胎集中在后轮,钉子比较难自己站着被车压。所以“和扎胎关系最大的是车速与轴距的关系”。"
                    + "普通胎和防爆胎都可以补底面,侧面不能补。别被4S店忽悠了。</p>fsdafsd";
                Regex reg = new Regex(@"(?is)<p[^>]*class=""sms""[^>]*mid=(['""\s]?)[^'""\s]+\1[^>]*>(?:((?!</?p\b).)*)</p>");
                MatchCollection match = reg.Matches(str);
                foreach (Match m in match)
                {
                    Response.Write(m.Value + "<br/>");
                }
    /*
    结果
    <p class="sms" mid="2211103042588254169" type="1"><a namecard="true" uid="1243861097" href="http://t.sina.com.cn/qilixiang" title="李想">李想<img class="small_icon vip" dynamic-src="http://img.t.sinajs.cn/t3/style/images/common/transparent.gif" title="新浪认证" alt=""/></a>:扎胎:扎胎和车型及轮胎型号关系不大,一般公路上的扎胎的原理是,前轮把钉子(类钉子)带起来,后轮压过去,所以90%的扎胎集中在后轮,钉子比较难自己站着被车压。所以“和扎胎关系最大的是车速与轴距的关系”。普通胎和防爆胎都可以补底面,侧面不能补。别被4S店忽悠了。</p>
    */
      

  7.   


    我是想去掉 <p想得到 
    "><a namecard="true" uid="1243861097" href="http://t.sina.com.cn/qilixiang" title="李想">李想<img class="small_icon vip" dynamic-src="http://img.t.sinajs.cn/t3/style/images/common/transparent.gif" title="新浪认证" alt=""/></a>:扎胎:扎胎和车型及轮胎型号关系不大,一般公路上的扎胎的原理是,前轮把钉子(类钉子)带起来,后轮压过去,所以90%的扎胎集中在后轮,钉子比较难自己站着被车压。所以“和扎胎关系最大的是车速与轴距的关系”。普通胎和防爆胎都可以补底面,侧面不能补。别被4S店忽悠了。</
    这个结果
      

  8.   


                string str = "fsdafsad<p class=\"sms\" mid=\"2211103042588254169\" type=\"1\">"
                    + "<a namecard=\"true\" uid=\"1243861097\" href=\"http://t.sina.com.cn/qilixiang\" title=\"李想\">"
                    + "李想<img class=\"small_icon vip\" dynamic-src=\"http://img.t.sinajs.cn/t3/style/images/common/transparent.gif\" "
                    + "title=\"新浪认证\" alt=\"\"/></a>:扎胎:扎胎和车型及轮胎型号关系不大,一般公路上的扎胎的原理是,前轮把钉子(类钉子)带起来,"
                    + "后轮压过去,所以90%的扎胎集中在后轮,钉子比较难自己站着被车压。所以“和扎胎关系最大的是车速与轴距的关系”。"
                    + "普通胎和防爆胎都可以补底面,侧面不能补。别被4S店忽悠了。</p>fsdafsd";
                Regex reg = new Regex(@"(?is)(?<=<p[^>]*class=""sms""[^>]*mid=(['""\s]?)[^'""\s]+(['""\s]?)[^>]*>)((?!</?p\b).)*(?=</p>)");
                MatchCollection match = reg.Matches(str);
                foreach (Match m in match)
                {
                    Response.Write(m.Value + "<br/>");
                }
    /*
    <a namecard="true" uid="1243861097" href="http://t.sina.com.cn/qilixiang" title="李想">李想<img class="small_icon vip" dynamic-src="http://img.t.sinajs.cn/t3/style/images/common/transparent.gif" title="新浪认证" alt=""/></a>:扎胎:扎胎和车型及轮胎型号关系不大,一般公路上的扎胎的原理是,前轮把钉子(类钉子)带起来,后轮压过去,所以90%的扎胎集中在后轮,钉子比较难自己站着被车压。所以“和扎胎关系最大的是车速与轴距的关系”。普通胎和防爆胎都可以补底面,侧面不能补。别被4S店忽悠了。
    */