我有一个正在使用的正则表达式模式(从Stack Overflow获取)从vimeo URL中提取视频ID:
var regExp = /http:\/\/(www\.)?vimeo.com\/(\d+)($|\/)/;
var match = url.match(regExp);
Run Code Online (Sandbox Code Playgroud)
无论是否指定了http或https,我都需要它.我试过了
var regExp = /http(s)?:\/\/(www\.)?vimeo.com\/(\d+)($|\/)/;
Run Code Online (Sandbox Code Playgroud)
但是http和https都失败了.
帮助一个兄弟.
pla*_*alx 56
它失败是因为您正在创建一个额外的捕获组,这意味着捕获组索引将与以前不同.
要s创建选项而不创建捕获组,您只需添加?,您不需要括号.
/https?:\/\/(www\.)?vimeo.com\/(\d+)($|\/)/
Run Code Online (Sandbox Code Playgroud)
要创建非捕获组,您可以使用(?:),但这里没有必要,只显示示例:
/http(?:s)?:\/\/(www\.)?vimeo.com\/(\d+)($|\/)/
Run Code Online (Sandbox Code Playgroud)
这个正则表达式应该有效:
var regExp = /https?:\/\/(www\.)?vimeo\.com\/(\d+)/;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34966 次 |
| 最近记录: |