需要正则表达式来进行字符串访

时间:2013-01-12 13:30:47

标签: javascript jquery

我有一个巨大的字符串。该字符串采用以下形式:

  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的所有值吗?

1 个答案:

答案 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();

这会生成一个包含所有网址的数组。

Demonstration