【问题标题】:How to extract an id from facebook video link with regular expression? [duplicate]如何使用正则表达式从 facebook 视频链接中提取 id? [复制]
【发布时间】:2012-02-15 11:47:50
【问题描述】:

可能重复:
Regex to get value of URL parameter?

如果您有 facebook 链接,例如

http://www.facebook.com/photo.php?v=107084586333124

什么正则表达式会提取107084586333124结尾的数字

编辑:我使用 php

【问题讨论】:

  • 使用哪种语言?为什么需要正则表达式?
  • 或者你可以拆分它? strUrl.split("?v=")[1] ...?
  • 您可能想看看这个问题 (stackoverflow.com/questions/2940508/…) - 它提出了完全相同的问题。如果您在页面本身上这样做,为什么不使用$_GET['v'] 之类的东西?

标签: php regex


【解决方案1】:

使用 PHP 的内置函数可靠地从 URL 中提取查询字符串变量。你会使用类似的东西:

parse_str(parse_url($url , PHP_URL_QUERY), $v);//where $v is not set yet or an empty array
$v = @$v['v'];//will now contain the value of v or be null if not found

【讨论】:

    【解决方案2】:

    我不熟悉 PHP 正则表达式引擎,但这个简单的正则表达式应该可以解决问题。您将在第一个捕获组中找到您的号码。

    v=(\d+)
    

    【讨论】:

      【解决方案3】:

      将以下正则表达式替换为""

      .*?\?v\=
      \D*.*
      

      剩下的数据就是你的号码。

      【讨论】:

      • 如果你坚持为此使用正则表达式,你最好使用preg_match(),这样你就可以在不改变任何现有数据的情况下找到你想要的东西。而且,这只是一个操作。
      • @Walf 我发布了这个答案before any language was tagged,但我不知道任何 PHP。 :)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-27
      • 1970-01-01
      • 2012-03-22
      • 2015-11-24
      相关资源
      最近更新 更多