As the "first-match-wins" algorithm is identical to the "greedy" disambiguation method used by POSIX regular expressions, it is natural and commonplace to use a regular expression for parsing the potential five components of a URI reference.
早い者勝ち
法は POSIX 正規表現で使われている曖昧さをなくすための貪欲
法と同じものですから、
URI 参照の5つの部品を構文解析するのに正規表現を使うのは自然なことです。
The following line is the regular expression for breaking-down a well-formed URI reference into its components.
次に示すのは整形式 URI 参照を部品に分割するための正規表現です。
^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))? 12 3 4 5 6 7 8 9
The numbers in the second line above are only to assist readability; they indicate the reference points for each subexpression (i.e., each paired parenthesis). We refer to the value matched for subexpression <n> as $<n>. For example, matching the above expression to
2行目の番号は可読性のために付記しただけのものです。
この数字は各部分式の参照点 (組になった括弧) を示しています。
部分式 n に一致した値を $n
と書くことにします。
例として、先の正規表現は
http://www.ics.uci.edu/pub/ietf/uri/#Related
results in the following subexpression matches:
と一致し、部分式は次のように一致します。
$1 = http: $2 = http $3 = //www.ics.uci.edu $4 = www.ics.uci.edu $5 = /pub/ietf/uri/ $6 = <undefined> $7 = <undefined> $8 = #Related $9 = Related
where <undefined> indicates that the component is not present, as is the case for the query component in the above example. Therefore, we can determine the value of the five components as
ここで、 <undefined>
はこの例での query
部品のように、部品が現れなかったことを示します。従って、
5つの部品の値は次のように決めることができます。
scheme = $2 authority = $4 path = $5 query = $7 fragment = $9
Going in the opposite direction, we can recreate a URI reference from its components by using the algorithm of Section 5.3.
逆方向に進めることで5.3節の方法を使って部品から URI 参照を再生成することもできます。