agoodchild
agoodchild
采纳率0%
2014-11-28 15:33 阅读 2.1k

正则表达式 html标签匹配

8

有这样一段html标签
<p style="">aaa**<p>bbb</p>ccc<p>ddd</p>eee</p>**
<p>ffff</p>
我想最终得到的是第一行中从最开始p标签开始到最末端p标签结束,其中可能还包括多个成对出现的p标签例,但不包括下一行的p标签,
应该怎样写呢?
我这样写:<p.*?(<p>.*?</p>)?.*?</p>,最终得到的是<p style="">aaa<p>bbb</p>
求各位高手不吝赐教

注:我只有8个币了。。。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

5条回答 默认 最新

  • caozhy 从今以后生命中的每一秒都属于我爱的人 2014-11-28 15:58

    p[^>]*>[^<>]*(((?'Open'

    ]*>)[^<>]*)+((?'-Open'

    )[^<>]*)+)*(?(Open)(?!))
    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2014-11-28 16:00

    csdn有bug,贴出来的文字被搞乱了,参考:http://blog.csdn.net/wrq147/article/details/6142285 文章中最后提到匹配 div,你修改为 p 即可。

    点赞 评论 复制链接分享
  • q107770540 兔子党-督察 2014-11-30 11:45

    用贪婪匹配即可:

    .*”
    点赞 评论 复制链接分享
  • july_apple july_apple 2016-01-19 09:04

    $("p").not($("p").last());

    点赞 评论 复制链接分享
  • weixin_37943891 weixin_37943891 2018-02-05 06:22

    p[^>]*>[^<>]*(((?'Open'

    ]*>)[^<>]*)+((?'-Open'

    )[^<>]*)+)*(?(Open)(?!))

    点赞 评论 复制链接分享

相关推荐