代码之家  ›  专栏  ›  技术社区  ›  Elamurugan

as3正则表达式

  •  1
  • Elamurugan  · 技术社区  · 14 年前

    你们中有人经历过这个任务吗?请告诉我一个解决办法。

    我必须从YouTube网址中提取视频ID: http://www.youtube.com/watch?v=Ls8ppLu72NQ&feature=popular

    从这里我只需要 LS8PULP72NQ 我怎么提取呢?我知道我可以用字符串替换,但是有什么方法可以
    用regex很容易提取。

    URL可以是所有这些格式

    http://www.youtube.com/watch?v=ls8pplu72nq&feature=流行 http://www.youtube.com/watch?v=Ls8ppLu72NQ

    http://www.youtube.com/watch/Ls8ppLu72NQ
    
    2 回复  |  直到 14 年前
        1
  •  3
  •   Aillyn    14 年前

    试试这个正则表达式:

    watch(?:\/|(?:\?|.*&)v=)(\w+)
    

    结果将在第一个捕获组中。

    演示: http://rubular.com/r/7J9FSgwBMf

        2
  •  0
  •   Elamurugan    14 年前

    非常感谢@aillyn

    这对我很有用。

    我是这样做的 **

    var myPattern:RegExp = /watch(?:\/|(?:\?|.*&)v=)(\w+)/ig;   
    var str:String = "http://www.youtube.com/watch?&vx=123&v=Ls8ppLu72NT";
    var result:Object = myPattern.exec(str);
    trace(result[1]);
    

    **