我有一个巨大的字符串。该字符串采用以下形式:
var str = "content.....
more content.........
<script src='url' ... />
<script src='url' ... />
<script src='url' ... />
....
.........";
现在我想访问字符串中的所有网址。所以为此我使用以下javascript:
var regex = //this part i required
var matches = [];
var match = regex.exec(str);
有人可以给我正则表达式来从上面的字符串中访问src的所有值吗?
答案 0 :(得分:4)
您正在导入jQuery,因此,假设您的字符串是有效的HTML,您可以使用它来解析它并获取您的URL。
事实证明这并不容易,因为jQuery不会让你找到<script>
个元素。
我制作了这个解决方案,但显然不是很优雅:
str = str.replace(/script/g, 'placeholder');
var urls = $('placeholder', '<div>'+str+'</div>').map(
function(){return $(this).attr('src')}
).get();
这会生成一个包含所有网址的数组。