0

我应该使用什么 JavaScript 正则表达式来匹配 URL 路径的各个组件?路径是指服务器上资源的路径,例如,如果 URL 是“http://example.com/directory/resource?start=0”,则路径是“/directory/resource”。路径组件是指路径的 / 分隔部分。

假设我们有 URL 'http://example.com/component1/component2'。我想要的是能够将'component1'或'component2'与每个分组的正则表达式匹配,因此可以提取每个组件,即像这样:'http://example.com/( $component- regex )/( $component-regex ) ( $component-regex是我们需要设计的正则表达式)。在此示例中,将有两个匹配的组:“component1”和“component2”。

请提出一个 JSLint 认为安全的正则表达式 :) 例如,它认为[^/]+不安全。

4

1 回答 1

0

您不需要正则表达式:

var components = url.split(/[?#]/)[0].split("/").slice(3);

好的,您确实需要一个正则表达式来拆分两个可能的字符之一,但是您可以在没有任何正则表达式的情况下这样做:

var components = url.split("#")[0].split("?")[0].split("/").slice(3);
于 2013-01-26T22:57:47.337 回答