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="