【问题标题】:Pick out part of a url with javascript regex?用 javascript 正则表达式挑选出部分网址?
【发布时间】:2011-03-29 22:04:37
【问题描述】:

如果我有以下网址:

http://www.youtube.com/watch?v=ysIzPF3BfpQ&feature=rec-LGOUT-exp_stronger_r2-2r-3-HM

http://www.youtube.com/watch?v=ysIzPF3BfpQ

我怎样才能只挑出 11 个字符的字符串 ysIzPF3BfpQ?

感谢您的帮助!

【问题讨论】:

    标签: javascript regex


    【解决方案1】:
    str.match(/v=(.*?)(&|$)/)[1];
    

    它查找v=,然后是最短 字符串(.*?),然后是& 或字符串的结尾。 [1] 检索第一个分组,给出:ysIzPF3BfpQ

    【讨论】:

    • 这就是我想要的。比我的更好更简单。
    • 可以进一步简化(和加速):str.match(/v=([^&]+))[1];
    【解决方案2】:

    从匹配v=***********的URL获取第一个捕获组()

    url.match(/v=(.{11})/)[1]
    

    【讨论】:

    • 如果网址只是:youtube.com/watch?v=ysIzPF3BfpQ 怎么办?
    • 将其修复为仅获取接下来的 11 个字符,因此您必须假设 v= 永远不会为空。
    猜你喜欢
    • 2023-03-16
    • 2021-11-07
    • 2021-06-08
    • 2020-06-07
    • 1970-01-01
    • 2017-01-06
    • 1970-01-01
    • 1970-01-01
    • 2014-01-20
    相关资源
    最近更新 更多