我有两个数组。一个是充满链接和其他简单的字符串,代表链接的域。它更像是一个黑名单网址。
links = ['http://www.one.com', ... 'http://www.ten.com']
ignore = ['two, four, nine']
我正在尝试使用正则表达式pull
,但传递正则表达式,如:
for (let i of iignore) {
clearedUrls.concat(_.pull(links, `https?:\/\/www.${i}.*`))
}
但没有成功,虽然在Regex101上进行测试,表达式是正确的。
答案 0 :(得分:0)
使用remove
代替,这是以下工作代码:
for (let url of urls) {
u += `${url.trim()}|`
}
u = u.substring(0, u.length - 1) // Remove last pipe
let regex = new RegExp('.*.(' + u + ').com.*', 'g') // https?:\/\/www.(two|four|nine).com.*/g
clearedUrls = clearedUrls.concat(_.remove(links, (obj) => {
return !obj.match(regex)
}))