很难将所有内容都放在问题的标题中,因为它具体取决于人们想要拆分的字符串。但这里是:
我有一个字符串,其中有多个脚本标签:
<script type="text/javascript" src="/javascripts/something-1.js"></script>
<script type="text/javascript" src="/javascripts/something-2.js"/>
<script type="text/javascript" src="/javascripts/something-3.js"></script>
<link rel="stylesheet" type="text/css" href="/something-1.css">
我想将此字符串拆分为多个字符串,每个字符串都包含一个脚本标签(忽略链接标签)。我是这样做的:
var scripts = code.match(/<script.*src=.*(\/>|<\/script>)/g);
这是为了将脚本标签与结束标签匹配/>
或匹配</script>
。但是,使用这个当前的正则表达式,我总是得到:
<script type="text/javascript" src="/javascripts/something-1.js"></script>
<script type="text/javascript" src="/javascripts/something-2.js"/>
作为一个字符串 - 不是两个。
我如何正则表达式:
/<script.*src=( (not script not link) /> | (not link) <\/script> )/g