如何使用Regex选择这三个扩展中的任何一个后的所有字符?

时间:2013-03-01 17:25:40

标签: ruby regex

我的测试字符串:

http://website.me/stuffs/5715?vars=

因此我的网址可以是website.comwebsite.mewebsite.dev

我基本上想要一个正则表达式语句,它将捕获此部分之后的所有内容:

http://website.me:3000/

这样它就会返回:

stuffs/5715?vars=

2 个答案:

答案 0 :(得分:6)

你应该真的使用URI class from Ruby core

require 'uri'

URI.parse('http://website.me/stuffs/5715?vars=').request_uri
#=> "/stuffs/5715?vars="

答案 1 :(得分:0)

http://[^/]+/(.*)

(.*)部分应捕获域名后的所有内容(如果包含端口号,则为端口号),并将其存储在捕获组1中。如何访问捕获组是特定于语言/实现的。这个正则表达式只需在初始/之后出现的第一个http://之后匹配所有内容。