我需要匹配索引1中的iframe src的url。我使用此matchAll函數來匹配多個匹配項。在索引1上匹配iframe中的iframe src
if (typeof RegExp.prototype.matchAll !== "function") {
RegExp.prototype.matchAll = function(v) {
var tmp = ""+ this, // So this.toString
src = tmp.lastIndexOf("/"),
pattern = tmp.substring(1, src),
flags = tmp.substring(src + 1, tmp.length);
// Never forget "g", that prepends infinite loops for "while"
if (flags.indexOf("g") == -1) {
flags += "g";
}
var re = new RegExp(pattern, flags);
var ms = [], m;
while (m = re.exec(v)) {
ms.push(m);
}
return ms;
};
}
使用此測試代碼:
str = '<iframe width="560" height="315" src="https://www.youtube.com/embed/8L-6Hw7CZLQ" frameborder="0" allowfullscreen></iframe>';
var pattern = /\[embed\](.*?)\[\/embed\]|<iframe.*?src="(.*?)".*?<\/iframe>/;
var matches = pattern.matchAll(str);
console.log(matches);
我得到了SRC,但在指數2,我需要它的指數1,因爲該模式確實匹配使用該索引其他東西1作爲「url」,所以我寧願匹配該索引上的所有url,而不是修改整個代碼。
什麼是正確的模式,以獲得任何iframe索引1上的src url?
發佈HTML,以防萬一有些事情沒有發生在您身上和/或幫助我們解決此問題。 – zer00ne
@ zer00ne'[embed] https://www.youtube.com/embed/123123 [/ embed] ffdsads