Как извлечь подстроку из URL - PullRequest
0 голосов
/ 25 октября 2011

Мне нужна помощь с RegEx. У меня есть URL:

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

или

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

Я хочу всегда извлекать часть между '../../temporary/' и '$002..', поэтому это 12357704 и 12337704.

Ответы [ 3 ]

1 голос
/ 25 октября 2011

Как насчет этого:

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

Это извлекает что-либо после '../../temporary/' и до '$002..'. (Выполняется .*?, что является "не жадным").

0 голосов
/ 25 октября 2011

Нечто подобное будет работать, но, конечно, вам нужно быть уверенным, что URL-адрес совпадает, или совпадение вернет ноль.

var result = your_url.match(/temporary\/([^$]*)/)[1];
0 голосов
/ 25 октября 2011

Вот быстрое решение:

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

где str - ваш URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...