2013-03-05 3 views
0

У меня есть URL, как так:Рубин матч регулярного выражения, то исключить из матча

http://www.example.com/blah.ashx?ID=fj203-fj230r-3jf030 

мне было интересно, если это возможно, чтобы соответствовать все из ID = в конце URL в Ruby, а затем исключить ID = из матча? Благодаря!

+0

Да, это так. Пожалуйста, напишите, что вы пробовали – Vetsin

ответ

0

Что-то вроде этого.

"http://www.example.com/blah.ashx?ID=fj203-fj230r-3jf030"[/(?<=ID=)(.*)/] 
2

рубина, вероятно, имеет встроенный URL и строка запроса парсер, но это регулярное выражение должно работать достаточно просто:

\?ID=(.*) 

http://rubular.com/r/kYf3EURRPN

2

Я всегда придерживаться библиотечных методов, позволяет мне лучше спать ;-)

require 'cgi' 
require 'uri' 

uri = URI.parse('http://www.example.com/blah.ashx?ID=fj203-fj230r-3jf030') 
params = CGI.parse(uri.query) 
id  = params["ID"].first 

#=> "fj203-fj230r-3jf030" 
Смежные вопросы