我想匹配这个网址:
https://play.spotify.com/user/randomuser/playlist/71ljVu3Ejccu2PzW6iXv0G
随机用户和结束ID正在改变的地方.
我想验证url确实是play.spotify.com链接并匹配该格式.
我有这个javascript函数:
var verify = function(url){
var re = new RegExp("(https:\/\/play.spotify.com\/user\/\w+?\/playlist\/\w+)", "g");
var result = re.exec(url);
console.log(result);
}
verify("https://play.spotify.com/user/useruser/playlist/71ljVu3Ejccu2PzW6iXv0G");
Run Code Online (Sandbox Code Playgroud)
当我使用正则表达式测试器测试它时,它似乎正常工作:

但是,console.log的输出只是null.
我在javascript中做错了什么?为什么网址不匹配?
Run Code Online (Sandbox Code Playgroud)"(https:\/\/play.spotify.com\/user\/\w+?\/playlist\/\w+)"
你正在逃避字符/和w这里,这在字符串文字中是不必要的.你的字符串相当于
"(https://play.spotify.com/user/w+?/playlist/w+)"
Run Code Online (Sandbox Code Playgroud)
这显然不是你正在寻找的正则表达式.
var re = /(https:\/\/play.spotify.com\/user\/\w+?\/playlist\/\w+)/g;
Run Code Online (Sandbox Code Playgroud)
如果new RegExp由于某种原因你真的需要使用,你必须转义字符串中的反斜杠字符:new RegExp("(https://play.spotify.com/user/\\w+?/playlist/\\w+)", "g").
| 归档时间: |
|
| 查看次数: |
151 次 |
| 最近记录: |