Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何使用Regex选择这三个扩展名中任何一个之后的所有字符?_Ruby_Regex - Fatal编程技术网

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

Ruby 如何使用Regex选择这三个扩展名中任何一个之后的所有字符?,ruby,regex,Ruby,Regex,我的测试字符串: http://website.me/stuffs/5715?vars= 所以我的url可以是website.com,website.me,或者website.dev 我基本上想要一个regex语句,它将捕获本部分之后的所有内容: http://website.me:3000/ 因此,它返回: stuffs/5715?vars= http://[^/]+/(.*) (.*)部分应该捕获域名之后的所有内容(如果包含端口号),并将其存储在捕获组1中。如何访问捕获组取决于语言/实

我的测试字符串:

http://website.me/stuffs/5715?vars=
所以我的url可以是
website.com
website.me
,或者
website.dev

我基本上想要一个regex语句,它将捕获本部分之后的所有内容:

http://website.me:3000/
因此,它返回:

stuffs/5715?vars=
http://[^/]+/(.*)

(.*)
部分应该捕获域名之后的所有内容(如果包含端口号),并将其存储在捕获组1中。如何访问捕获组取决于语言/实现。这个正则表达式只需匹配首字母
http://

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

(.*)
部分应该捕获域名之后的所有内容(如果包含端口号),并将其存储在捕获组1中。如何访问捕获组取决于语言/实现。此正则表达式只需匹配首字母
http://

之后出现的第一个
/
之后的所有内容即可工作。您应该真正使用:

您应该真正使用:


ruby中应该有一个URL/URI解析器。这里:ruby中应该有一个URL/URI解析器。在这里:
require 'uri'

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