通过正则表达式从字符串中提取Url

时间:2015-03-27 05:00:32

标签: javascript arrays regex

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

使用以下正则表达式:

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

表示字符串:

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

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

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

2 个答案:

答案 0 :(得分:2)

不要。只需使用DOM方法即可获得它们。首先,我们创建一个临时div,然后将它的内部html设置为输入字符串的内部。我们可以浏览<a>并使用href

返回其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);

答案 1 :(得分:1)

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

试试这个。看看演示。

https://regex101.com/r/sJ9gM7/11