如何从URL中提取子字符串

时间:2011-10-25 00:32:03

标签: ruby regex url

我需要一些RegEx的帮助。我有一个网址:

../../temporary/12357704$002cXX$002c302036261/-1;jsessionid=13817F357AB3CD30E0836AA89903A003

../../temporary/12337704$002cXX$002c30222261/-1;jsessionid=13817F357AB3CD30E0836AA89903A003

我希望始终在'../../temporary/''$002..'之间提取部分,因此它是1235770412337704

3 个答案:

答案 0 :(得分:1)

这个怎么样:

result = url.gsub(/^\.\.\/\.\.\/temporary\/(.*?)\$002.*/, "\\1")

这会在'../../temporary/'之后和'$002..'之前提取任何内容。 (由.*?完成,这是“非贪婪的”)。

答案 1 :(得分:0)

这是一个快速解决方案:

str.scan(/^..\/..\/temporary\/(\d*)?\$002.*$/).flatten.first

其中str是你的网址。

答案 2 :(得分:0)

这样的东西可行,但当然你需要确保URL匹配,否则匹配将返回null。

var result = your_url.match(/temporary\/([^$]*)/)[1];