javascript - 通过正则表达式从字符串中提取 URL

标签 javascript arrays regex

尝试从字符串中提取所有网址并将其存储在数组中

使用以下正则表达式:

/<a href=([^>]*)>ss URL<\/a>/g

对于字符串:

 <a href='https://zzzz' target="_blank">ss URL</a>

但我得到的输出目标为空白:

`'https://zzzz' target="_blank"`

最佳答案

只是不要。只需使用 DOM 方法即可获取它们。首先,我们创建一个临时 div,然后将其内部 html 设置为输入字符串的 HTML。我们可以通过<a>并返回他们的href属性(property)使用 Array.map

var elem = document.createElement('div');
elem.innerHTML = str;
var urls = [].map.call(elem.querySelectorAll('a'), function(a){
    return a.innerText.toLowerCase() == "ss url" ? a.href : "";
}).filter(String);

关于javascript - 通过正则表达式从字符串中提取 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29293603/

相关文章:

javascript - 如何在ajax调用之前禁用某个功能,并在ajax成功时启用它?

java - 每次都检查数组还是插入数据库哪个更快?

javascript - console.log 返回特定元素

javascript - 需要了解 Angular.js 中的依赖注入(inject)

arrays - 寻找通过数组的最低价格的算法

java - 我需要使用 Java Embedded 将结果数组写入任意类型且在 BPEL 中无界的变量

Java正则表达式解释

.net - 我将如何使用正则表达式将 HTML 解析为纯文本

关于时间戳的 PHP 正则表达式问题 preg_match()

javascript - CSS 下拉菜单中的 jQuery UX 故障