程序开发 · 2024年1月24日

如何使用正则表达式匹配包含引号的“标签中的内容?

完整匹配 <script> 标签中间内容的正则表达式</script>

给定以下 php 文件:

<script src="static/js/jsencrypt.js?v=<?= web_version ?>"></script>
<script src="static/js/jquery.form.js?v=<?= web_version ?>"></script>
<script type="text/javascript">
    var a = 1;
    var b = 2;
</script>

登录后复制

如何使用正则表达式捕获<script> 标签中间部分的内容?例如,第三个 <script> 标签的内容如下:</script>

    var a = 1;
    var b = 2;

登录后复制

最初提出的正则表达式 /( ]*>)([ss]*?)()/gm 仅能匹配 <script> 标签属性不包含 > 的情况。</script>

要解决这个问题,可以使用以下修改后的正则表达式:

/(<script([^"<>]+|"[^"]*")*>)([sS]*?)(</script>)/g

登录后复制

此正则表达式针对属性中包含引号的情况进行了修改,排除了引号干扰,从而能够匹配所有 <script> 标签中间部分的内容。</script>

以上就是如何使用正则表达式匹配包含引号的“标签中的内容?的详细内容,更多请关注GTHOST其它相关文章!