我需要一些RegEx的帮助。我有一个网址:
../../temporary/12357704$002cXX$002c302036261/-1;jsessionid=13817F357AB3CD30E0836AA89903A003
或
../../temporary/12337704$002cXX$002c30222261/-1;jsessionid=13817F357AB3CD30E0836AA89903A003
我希望始终在'../../temporary/'
和'$002..'
之间提取部分,因此它是12357704
和12337704
。
答案 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];