
正则匹配完整 script 标签中间内容
为了完整匹配 script 标签中间的内容,需要考虑标签属性中可能包含引号 (") 的情况。
提供了如下正则表达式:
/(<script\b([^"<>]+|"[^"]*")*>)([\s\S]*?)(<\/script>)/g
这个正则表达式可以通过以下步骤逐个分解:
- (<scriptb([^"<>]+|"[^"]*")*>):匹配 <script> 标签的开始,包括标签名和属性。其中 ([^"<>]+|"[^"]*")* 可以匹配属性值中可能包含的引号。
- ([ss]*?):匹配标签之间的内容,其中 ss 匹配任何字符,*? 贪婪地匹配最少的字符。
- (</script>):匹配 </script> 标签的结束。
通过这个正则表达式,您可以完整匹配 script 标签之间的所有内容,即使属性中包含引号。










