我试图将路径元素与ruby中的URL分开。我的网址是:
/cm/api/m_deploymentzones_getDeploymentZones.htm
使用正则表达式:
/\/([^\/]*)\//
匹配为/cm/
。我希望只看到cm
,因为/
个字符被明确排除在捕获组之外。我做错了什么?
我也试图通过以下方式获取下一个路径元素:
/\/[^\/]*\/([^\/]*)\//
然后返回:/cm/api/
有什么想法吗?
答案 0 :(得分:2)
使用URI.parse()
:
require 'uri'
url = '/cm/api/m_deploymentzones_getDeploymentZones.htm'
parts = URI.parse(url).path.split('/') # ["", "cm", "api", "m_deploymentzones_getDeploymentZones.htm"]
答案 1 :(得分:0)
这是匹配路径组件的正则表达式:
(?<=/).+?(?=/|$)
但是你最好只在/
个字符上拆分字符串。你不需要正则表达式。