正则表达式从URL中提取字符串

时间:2011-03-27 23:11:24

标签: regex r

我希望从URL中提取字符串。这是一个例子来说明我在寻找什么。

输入网址:http://www.nba.com/bulls/stats/ 输出:公牛

换句话说,我希望能够在url中的倒数第二个和最后一个“/”之间提取字符串。我知道我可以用“/”拆分并提取第二个术语,但我正在寻找一个更清晰的正则表达式解决方案。

有什么想法吗?

3 个答案:

答案 0 :(得分:3)

试试这个:

http://[^/]+/([^/]+)/[^/]+/?

答案 1 :(得分:1)

以下正则表达式可以完成这项工作

http[s]?://[\w\.]+/(\w+)/.*

答案 2 :(得分:1)

如果必须通过正则表达式执行此操作,则可以执行此操作(假设使用JavaScript样式的正则表达式语法):

/\/([^\/]*)\/[^\/]*\/$/

为了便于理解,.NET版本就是这样:

@"/([^/]*)/[^/]*/$"

但是,我认为分裂/的想法确实是实现这一目标的正确方法。