gpt4 book ai didi

javascript - 如何使用正则表达式和javascript获取捕获的分组?

转载 作者:行者123 更新时间:2023-11-28 08:45:02 25 4
gpt4 key购买 nike

我正在尝试获取 YouTube 嵌入链接的片段。我不熟悉 javascript 中分组捕获的工作原理。

这就是我所拥有的

<Script>
var str = "<iframe width=\"420\" height=\"315\" src=\"//www.youtube.com/embed/JxE1oj06xH8\" frameborder=\"0\" allowfullscreen></iframe>";

var re = /(?:<iframe)(\swidth=\"\d+\")|(\sheight=\"\d+\")|(\ssrc=\"(?:http:)?(//)?www\.youtube\.com/embed/\w+\"?)(.+></iframe>)/g;

var array = str.match(re);

document.write(array[0]);
</script>

我期望结果是由此捕获的数据

(\swidth=\"\d+\")

对于每个组,我希望能够获取括号中的数据(总共 4 个组。)我如何获取组中的数据?

最佳答案

.match() 作为捕获的括号的数组返回。为了使事情更容易查看,我将\"替换为单个 ',然后解析字符串。

显然,一个更简单的解决方案是在字符串周围使用单引号,但我必须使用你给我的内容。

var str = "<iframe width=\"420\" height=\"315\" src=\"//www.youtube.com/embed/JxE1oj06xH8\" frameborder=\"0\" allowfullscreen></iframe>";

str = str.replace(/\"/g, "'");

var re = /width='(\d+)' height='(\d+)' src='\/\/(www\.youtube\.com\/embed\/\w+)' frameborder='0' allowfullscreen><\/iframe>/;

var array = str.match(re);

console.log(array);

根据您的具体程度以及您可能想要捕获的其他值,您应该能够对此进行调整。对于正则表达式,我想说你想要尽可能具体。

This was a great little tutorial when I first learnt regex for JS.

关于javascript - 如何使用正则表达式和javascript获取捕获的分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19944865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com