如何将某些字符串从一个巨大的字符串推入数组

How to push certain strings from an huge string into array

这听起来可能很奇怪,但我想通过使用以下正则表达式推送特定字符串来解析 xml 响应:

data-href="[\d\w\/:\.\=]*[">]? 

放入数组。

这样做的原因只是为了测试。一位朋友用 jimdo 建立了一个网页,他在其中展示了一个图片库。现在我想尝试解析此站点上的 xml 并仅获取每个 data-href 标记处的图像并在我的本机反应应用程序中使用它们。

有什么想法吗?

为什么不直接使用 String.match 方法?

var matches = xml_str.match(/data-href="[\d\w\/:\.\=]*[">]?/g);

编辑:如果您只想在 href 中获取 URL,请使用正则表达式捕获组:

var matches = xml_str.match(/data-href="([\d\w\/:\.\=]*)[">]?/g);
console.log(matches);

然后您可以将 matches 数组映射为仅包含具有 URL 的元素。