使用正则表达式获取url iframe字符串

时间:2018-05-22 00:44:08

标签: javascript regex

字符串

let iframe = "<iframe src=\"https://player.vimeo.com/video/111111\" width=\"500\" height=\"281\" frameborder=\"0\" allowfullscreen></iframe>";

我需要的是src url字符串。

我已经尝试了一个可以获得大部分内容的表达式。

let url = iframe.match(/\bhttps?:\/\/\S+);

返回

'https://player.vimeo.com/video/111111\"'

它正在返回最终的\和“我不想要的。我试图使用像

这样的东西
[^\"]

说“不包括\或”,但我没有把它弄好。

正则表达式对我来说永远是一只熊。

2 个答案:

答案 0 :(得分:1)

可以通过将html插入空容器元素并获取iframe元素的src属性来使用DOM方法

&#13;
&#13;
let iframe = "<iframe src=\"https://player.vimeo.com/video/111111\" width=\"500\" height=\"281\" frameborder=\"0\" allowfullscreen></iframe>";

let div = document.createElement('div')
div.innerHTML = iframe

let url = div.querySelector('iframe').src

console.log(url)
&#13;
&#13;
&#13;

答案 1 :(得分:1)

请尝试此

let iframe = "<iframe src=\"https://player.vimeo.com/video/111111\" width=\"500\" height=\"281\" frameborder=\"0\" allowfullscreen></iframe>";

console.log(iframe.match('(?<=src=").*?(?=[\?"])'));