Ruby正则表达式匹配然后从匹配中排除

时间:2013-03-05 21:56:57

标签: ruby regex

我有一个像这样的网址:

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

我想知道是否可以匹配从ID =到Ruby中的URL末尾的所有内容,然后从匹配中排除ID =?谢谢!

3 个答案:

答案 0 :(得分:2)

Ruby可能有一个内置的URL和查询字符串解析器,但这个正则表达式应该足够简单:

\?ID=(.*)

http://rubular.com/r/kYf3EURRPN

答案 1 :(得分: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"

答案 2 :(得分:0)

像这样。

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