如何使用正则表达式从文本中提取 YouTube 视频 ID
问题:
给定用户可以在其中输入文本的文本字段,任务是提取所有 YouTube 视频 URL 及其对应的ID。
使用正则表达式的解决方案:
要从给定字符串中提取 YouTube 视频 ID,您可以使用可匹配所有可能的 YouTube URL 格式的正则表达式。下面是一个可以实现此目的的示例正则表达式:
https?://(?:[0-9A-Z-]+\.)?(?:youtu.be/|youtube(?:-nocookie)?\.com\S*?[^\w\s-])([\w-]{11})(?=[^\w-]|$)(?![?=&+%\w.-]*(?:['"][^<>]*>|</a>))[?=&+%\w.-]*
正则表达式细分:
用法:
您可以使用此例如,在 JavaScript 中,您可以使用以下代码来提取 YouTube 视频 ID:
function extractYouTubeIds(text) { const regex = /https?://(?:[0-9A-Z-]+\.)?(?:youtu.be/|youtube(?:-nocookie)?.com\S*?[^\w\s-])([\w-]{11})(?=[^\w-]|$)(?![?=&+%\w.-]*(?:['"][^<>]*>|</a>))[?=&+%\w.-]*/; const matches = text.match(regex); return matches ? matches.map(id => id.slice(17)) : []; }
请注意,slice(17) 删除了“https:/” /www.youtube.com/watch?v= 来自 YouTube URL 的前缀,用于提取视频 ID。
以上是如何使用正则表达式从文本中提取 YouTube 视频 ID?的详细内容。更多信息请关注PHP中文网其他相关文章!