39
|
Mithun Sreedharan Kuldeep Modi · 技术社区 · 14 年前 |
1
20
|
2
189
终极YOUTUBE正则表达式樱桃采摘因为解释越来越长,我把最终结果放在最上面。随意复制+粘贴,继续你的路。有关详细解释,请阅读
完整的故事
更新1:URL与字符串
“如果
是这样的;
首先,请注意这不是 统一资源定位地址 完全。 RFC compliant URLs 必须从方案开始!;) 不管怎样,要匹配任何类型的 一串 这表示要引用YouTube视频,我更新了我的答案以排除所需的URL方案。所以我的第二个建议是:
更新2:终极正则表达式可能的 . 这意味着我不仅添加了对youtu.be链接的支持,而且还添加了请求路径“/v”和“/embed”。 那么,请允许我介绍一下:我的最终Youtube正则表达式:
现在,此模式适用于任何字符串,格式如下: 没有方案和子域(域:youtu.be,路径:/)
无方案,有子域(域:youtu.be,路径:/)
使用HTTP方案,无子域(域:youtu.be,路径:/)
使用HTTP方案和子域(域:youtu.be,路径:/)
使用HTTPS方案和子域(域:youtu.be,路径:/)
没有方案和子域(域:youtube.com,路径:/embed)
使用HTTP方案和子域(域:youtube.com,路径:/embed)
使用HTTPS方案和子域(域:youtube.com,路径:/embed)
没有方案和子域(域:youtube.com,路径:/v)
使用HTTP方案,无子域(域:youtube.com,路径:/v)
使用HTTP方案和子域(域:youtube.com,路径:/v)
使用HTTPS方案,无子域(域:youtube.com,路径:/v)
使用HTTPS方案和子域(域:youtube.com,路径:/v)
无方案,有子域(域:youtube.com,路径:/watch)
使用HTTP方案,无子域(域:youtube.com,路径:/watch)
使用HTTP方案和子域(域:youtube.com,路径:/watch)
使用HTTPS方案,无子域(域:youtube.com,路径:/watch)
使用HTTPS方案和子域(域:youtube.com,路径:/watch)
功能用法使用该模式最简单的方法是将其包装成如下函数:
关于视频Id长度的最后一个注释 :有人问ID是否有11个字符的固定长度?如果将来会改变呢? 对这个问题最好的回答可能也是我找到的唯一的“官方”声明 here 上面写着: “我在文档中没有看到任何地方正式承诺YouTube视频ID的标准长度为11个字符。这是我们当前实现的一个方面,它可能会无限期地保持这种状态。但我们并没有对此作出任何官方承诺,因此请自行承担风险。” |
3
4
|
4
2
@eyecatchup ubove有一个出色的正则表达式,但是在regexper.com的帮助下 我看到他的正则表达式会传递任何youtube的url,其中?v参数的值是任何单词或-符号,重复11次。但是youtube特别限制了视频id为11个字符,所以他的regex的修正是
还有我的解决方案
作为对未来11个字符限制的修改,那么当前的正则表达式意味着任何单词或-都必须重复11次,我的修正是
|
5
1
正则表达式:
|
6
1
|
7
-2
|
8
-4
|
user2596635 · 静音YouTube视频和自动播放 6 年前 |
Arpit Gupta · 如何嵌入多个youtube音频 6 年前 |
Dhruv · 使用C查找视频是否可用,是否使用Selenium# 6 年前 |
M. Arb · Youtube iframe如何全屏显示? 6 年前 |