如何从 URL 中提取子字符串

发布于 2024-12-11 20:20:58 字数 397 浏览 0 评论 0原文

我需要一些有关正则表达式的帮助。我有一个 URL:

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

或者

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

我总是想提取 '../../temporary/''$002..' 之间的部分,所以它是 12357704 和 12337704。

I need some help with RegEx. I have a URL:

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

or

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

I want always to extract the part between '../../temporary/' and '$002..' so it is 12357704 and 12337704.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

昇り龍 2024-12-18 20:20:58

怎么样:

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

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

How about this:

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

This extracts anything after '../../temporary/' and before '$002..'. (Accomplished by .*?, which is "non-greedy").

爱你不解释 2024-12-18 20:20:58

这是一个快速解决方案:

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

其中 str 是您的网址。

Here's a quick solution:

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

where str is your url.

错々过的事 2024-12-18 20:20:58

类似这样的东西可以工作,但是当然您需要确保 URL 匹配,否则匹配将返回 null。

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

Something like this would work, but of course you'd need to be sure that the URL matches, or match will return null.

var result = your_url.match(/temporary\/([^$]*)/)[1];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文