gpt4 book ai didi

javascript - 如何编写此正则表达式以仅替换 url

转载 作者:行者123 更新时间:2023-11-30 11:14:37 25 4
gpt4 key购买 nike

我有这个正则表达式来用 iframe 替换 youtube 链接。

const regExp = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/;

它有效,但它替换了整个字符串,假设我有这样的东西......

const string = This is a youtube like video but replace just the link...
https://www.youtube.com/watch?v=0oPAkkHXYHs&t=541s
;

它替换了整个字符串变量,但我希望它只替换

https://www.youtube.com/watch?v=0oPAkkHXYHs&t=541s

最后应该给我这样的东西。

This is a youtube like video but replace just the link... <iframe ...>video</iframe> ;

如何更改正则表达式以仅替换字符串的一部分?

string = string.replace(regExp, function (url) {
return `<iframe ....></iframe>`;
});

最佳答案

我修改了您的正则表达式并使用了组,它应该可以正常工作。

const regExp = /(^.*)(http(s)?:\/\/)((w){3}.)?youtu(be|.be)?(\.com)?\/.+/;

let str = `This is a youtube like video but replace just the link... https://www.youtube.com/watch?v=0oPAkkHXYHs&t=541s`;

str = str.replace(regExp, '$1 <iframe ....></iframe>');
console.log(str);

关于javascript - 如何编写此正则表达式以仅替换 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52109115/

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