[英]javascript regex to get url from string containing script tag
I am trying to figure out how to write a regex that would provide the url from a string like this:我试图弄清楚如何编写一个正则表达式,它可以从这样的字符串中提供 url:
'<script type="text/javascript" src="http://chrismills.la/test.js"></script>';
This works, but I need to find a cleaner way to do this:这可行,但我需要找到一种更清洁的方法来做到这一点:
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;
In action: http://jsfiddle.net/zb3jh180/在行动: http://jsfiddle.net/zb3jh180/
SOLUTION, based on answer below:解决方案,基于以下答案:
var regex = /<script.*?src="(.*?)"/gmi;
var url = regex.exec(_content);
script.src = url[1];
You can use this regex:您可以使用此正则表达式:
<script.*?src="(.*?)"
Or also something like:或者也像:
<script.*?"(http.*?)"
Updated the fiddle, let me know if this was what you are going for.更新了小提琴,让我知道这是否是你想要的。 Basically just creating a capture group:基本上只是创建一个捕获组:
var srcRegEx = /src="(.*?)"/g;
var source = srcRegEx.exec(_content);
script.src = source[1];
http://jsfiddle.net/zb3jh180/1/ http://jsfiddle.net/zb3jh180/1/
If you want to match a string of script tags containing "http://chrismills.la" in the src attribute, you can use this Regex:如果要匹配 src 属性中包含“http://chrismills.la”的脚本标签字符串,可以使用这个正则表达式:
<script.*?src="(http:\/\/chrismills\.la.*?)"*<\/script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.