javascript正则表达式从包含脚本标记的字符串中获取url

javascript regex to get url from string containing script tag

本文关键字:字符串 获取 url 正则表达式 包含 脚本 javascript      更新时间:2023-09-26

我正试图弄清楚如何编写一个正则表达式,它将从以下字符串中提供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];

您可以使用以下正则表达式:

<script.*?src="(.*?)"

工作演示

或者类似于:

<script.*?"(http.*?)"

工作演示

更新了小提琴,让我知道这是否是你想要的。基本上只是创建一个捕获组:

            var srcRegEx = /src="(.*?)"/g;
            var source = srcRegEx.exec(_content);
            script.src = source[1];

http://jsfiddle.net/zb3jh180/1/

如果您想匹配一个包含"http://chrismills.la"在src属性中,可以使用以下Regex:

<script.*?src="(http:'/'/chrismills'.la.*?)"*<'/script>