正则如何匹配完整的script标签

2018-04-24 05:10:37正则表达式问题

html如下:

<body>
    <temlate></template>
    <script>
        var str = `<script>var html='abc';</script>
                    <style></style>
                `;
    </script>
    <style></style>
</body>

怎么匹配出:

<script>
    var str = `<script>var html='abc';</script>
                <style></style>
            `;
</script>

进来踩问题的,请你告诉我这个问题哪里需要改进的?只会踩?

网友回答:

查看匹配结果

  • jsoncode jsoncode 2018-4-25 4:14 回复:老鼠拧刀满街找猫
    <script\b[^>]*>[\s\S]*<\/script>和我的代码其实一个地方的区别<script\b[^>]*>[\s\S]*?<\/script>,真是恍然大悟,不带?就是贪婪匹配了,厉害。

真正答案是<script\b[^>]*>[\s\S]*<\/script>


  • yuanxiaowa yuanxiaowa 2018-4-24 5:20 回复:
    html.match(/<script[^>]*>(?:.*?)<\/script>/)[0]