0

URL パスの個々のコンポーネントを照合するには、どの JavaScript 正規表現を使用すればよいですか? パスとは、サーバー上のリソースのパスを意味します。たとえば、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」の 2 つの一致するグループがあります。

JSLint によって安全と見なされる正規表現を考え出してください :) たとえば、[^/]+安全ではないと見なされます。

4

1 に答える 1

0

これには正規表現は必要ありません。

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

わかりました、2 つの可能な文字のいずれかで分割するには正規表現が必要ですが、正規表現なしでこれを行うことができます。

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