【问题标题】:please regex url request请正则表达式 url 请求
【发布时间】:2013-08-03 01:58:20
【问题描述】:

我想知道是否有人可以帮助我解决正则表达式问题。我想写一个正则表达式来捕获类似于这个 URL 的 URL:

www.justin.tv/channel_name_here

我试过了:

/justin\.tv\/(.*)

我遇到的问题是,当这个频道上线时,有时 URL 会变成这样:

www.justin.tv/channel_name_here#/w/45365675688

我听不懂。 :( 任何人都可以帮我解决这个问题吗?我只想捕捉不带井号符号和 URL 其余部分的频道名称。

以下是一些示例 URL:

www.justin.tv/winning_movies#/w/6347562128
http://www.justin.tv/cine_accion_hd16#/w/6347562128/18
http://www.justin.tv/fox_movies_hd1/

我想得到:

winning_movies
cine_accion_hd16
fox_movies_hd1

提前致谢! :)

【问题讨论】:

    标签: regex url justin.tv


    【解决方案1】:

    简答:

    (?<=justin\.tv\/)([^#\/]+)
    

    长答案:

    让我们把它分成几部分。先看背面。

    ([^#\/]+)
    

    这会将字符串分隔为不包含“#”或“/”的部分。 现在让我们看第一部分。

    (?<=justin\.tv\/)
    

    语法 "(?this page 有很好的例子和不同类型的回看的解释)。用一个简单的例子:

    (?<=A)B
    

    上面的例子说“我想要紧跟在‘A’之后的所有‘B’。”转到我们的大示例,我们说我们想要紧跟在名为“justin.tv/”的部分之后的所有部分(用“#”或“/”分隔)。

    查看here 中的表达式示例。

    【讨论】:

    • 非常感谢,这正是我想要的,也感谢您解释代码。
    【解决方案2】:
    @justin\.tv/([^#/]+)@
    

    如果您希望所有内容都达到某个字符(-set),请使用否定类。 此外,在处理 url 的正则表达式时,使用 / 作为分隔符很容易出错,因为您必须转义所有 /。改用其他东西(在这种情况下像 @)

    【讨论】:

      猜你喜欢
      • 2012-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-05
      • 2021-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多