我试图弄清楚如何编写一个正则表达式,从这样的字符串中提供url:
'<script type="text/javascript" src="http://chrismills.la/test.js"></script>';
这样可行,但我需要找到一种更简洁的方法:
var url = '';
_content.replace(/src ?= ?"([^"]+)"/gi, function(res) {
url = res;
url = url.replace('src=','');
url = url.replace(/['"]+/g, '')
url = url.replace(/["']+/g, '')
});
script.src = url;
行动中: http://jsfiddle.net/zb3jh180/
解决方案,基于以下答案:
var regex = /<script.*?src="(.*?)"/gmi;
var url = regex.exec(_content);
script.src = url[1];
答案 0 :(得分:5)
您可以使用此正则表达式:
<script.*?src="(.*?)"
<强> Working demo 强>
或者类似的东西:
<script.*?"(http.*?)"
<强> Working demo 强>
答案 1 :(得分:1)
更新了小提琴,让我知道这是不是你想要的。基本上只是创建一个捕获组:
var srcRegEx = /src="(.*?)"/g;
var source = srcRegEx.exec(_content);
script.src = source[1];