• ベストアンサー

RFC2396 - Uniform Resource Identifi

RFC2396 - Uniform Resource Identifiers (URI): Generic SyntaxとTS X 0097:2004を読み進めています。作成しているウェブアプリケーションにおいて、ユーザから入力されたURLの正誤判定を正規表現を用いて行うためです。 domainlabel = alphanum | alphanum *(alphanum | "-") alphanum この行に関して、約物ハイフンマイナスはdomainlabelの一文字目と最後の文字として使ってはいけませんよという理解で間違いないでしょうか? 加えて、この文書に対する理解をより深める参考になりそうなウェブページなど紹介していただけると助かります。 当方、仕事ではありませんが趣味で10年ほどウェブアプリケーションを開発しています。HTMLやCSSはW3Cの仕様書を読んで理解することができます。スクリプトはPHP、Perl、JavaScriptを使っており、ECMA-262の仕様書を読むことができるくらいの知識はあります。 どうぞよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.1

解釈は良いけど、RFC2396は古いんでRFC3986を参照すべきじゃないかと思います。 domainlabelは国際化ドメイン対応で変わっているようですし。

Mocchi113
質問者

お礼

ざっとRFC3986を読んでみました。 確かに仕様の中に「この文書はRFC2396とRFC1738を統合して、すべてのURIに対応する標準書式を定義するものである」とありますね。ざっと見たところ、IPv6に対応する書式と、国際化ドメインに体操するためにUTF-8にしたがって%でエスケープされた16進数を入れてもよい、といった変更がなされてますね。使える文字種にも変化がありました。「"-", "_", ".", "~"」以外の約物がreservedになってます。 加えて、AppendixのBに正規表現が載っているので、今回はこれを参考にできました。 どうもありがとうございました。

関連するQ&A