javascript Regex YouTube频道链接

dgiusagp  于 2023-02-07  发布在  Java
关注(0)|答案(1)|浏览(101)

我正在寻找一个Javascript正则表达式,它能够提取YouTube频道链接的频道标识符。我在Stackoverflow上找到了一些解决方案,但我仍然缺少一个解决方案,它也能够与YouTube频道别名(例如https://www.youtube.com/@youtubecreators
因此,正则表达式应该能够匹配以下URL:
1.可口可乐

  1. https://www.youtube.com/channel/UCosXctaTYxN4YPIvI5Fpcrw--〉用户代码xctaTYxN 4 YPIvI 5 Fpcrw
    1.可口可乐
    1.可口可乐
    即使附加了https://www.youtube.com/@Coca-Cola/about这样的路径,匹配也应该起作用
    任何暗示都是受欢迎的!
qacovj5a

qacovj5a1#

你要找的模式是:

https:\/\/www\.youtube\.com\/(?:c\/|channel\/|@)?([^/]+)(?:\/.*)?
const urls = [
  "https://www.youtube.com/c/coca-cola",
  "https://www.youtube.com/channel/UCosXctaTYxN4YPIvI5Fpcrw",
  "https://www.youtube.com/@coca-cola",
  "https://www.youtube.com/coca-cola",
  "https://www.youtube.com/@Coca-Cola/about",
]

const pattern = /https:\/\/www\.youtube\.com\/(?:c\/|channel\/|@)?([^/]+)(?:\/.*)?/

for (url of urls) {
  console.log(url.match(pattern)[1])
}

相关问题