如何用正则表达式精准匹配Script标签内的内容_并处理属性中包含引号的情况?
正则表达式 完整匹配 script 标签中间内容
问题:
如何通过正则表达式捕获到所有 <script> 标签中间部分的内容,能处理标签属性中含有引号的情况?</script>
示例:
<script src="static/js/jsencrypt.js?v=1.0">…</script><script src="static/js/jquery.form.js?v=1.2">…</script><script type="text/javascript"> var a = 1; var b = 2;</script>
期望匹配第三个 <script> 标签中间内容:</script>
var a = 1; var b = 2;
解决:
使用以下正则表达式:
/(<script([^"<>]+|"[^"]*")*>)([sS]*?)(</script>)/g
解释:
( 匹配 <script> 标签的开头。</script>(1 |”2*”) 匹配标签属性,允许属性中含有引号。) 匹配 <script> 标签的结尾。</script>([ss]*?) 匹配标签中间的内容,使用非贪婪模式。() 匹配 标签的结尾。
- ” ↩” ↩
以上就是如何用正则表达式精准匹配Script标签内的内容,并处理属性中包含引号的情况?的详细内容,更多请关注范的资源库其它相关文章!