如何使用正则表达式或任何 javascript 方法从字符串中获取 url

How can i get the url from the string by using regular expression or any javascript method

    [
    "<iframe allowFullScreen frameborder=\"0\" height=\"564\" mozallowfullscreen src=\"https://player.vimeo.com/video/253266360\" webkitAllowFullScreen width=\"640\"></iframe>"
]

如何使用 reg exp 从上面的 ptr 字符串中获取下面的 url: https://player.vimeo.com/video/253266360\ 我正在尝试拆分字符串但无法获得 url.

ptr.split(/(?=:)/)

也许你可以利用 DOM API 并喜欢;

var div = document.createElement("div"),
    src;

div.innerHTML = "<iframe allowFullScreen frameborder=\"0\" height=\"564\" mozallowfullscreen src=\"https://player.vimeo.com/video/253266360\" webkitAllowFullScreen width=\"640\"></iframe>";
src = div.firstChild.src;

console.log(src);

您可以使用以下正则表达式从字符串中提取 URL:

/(https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*))/

因此,要从该字符串中获取 URL:

const ptr = '<iframe allowFullScreen frameborder="0" height="564" mozallowfullscreen src="https://player.vimeo.com/video/253266360" webkitAllowFullScreen width="640"></iframe>'

const url = /(https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*))/.exec(ptr)[0];

当使用 RegExp.prototype.exec() you 时,返回数组中的第一个元素是匹配的完整字符串,在本例中为 https://player.vimeo.com/video/253266360。您还可以从 url 表达式的末尾删除 [0] 以获得完整的返回数组,以防您需要有关匹配项的其他信息。

有关 RegExp.exec 函数的更多详细信息,请参阅 MDN Docs