From: Tanaka Akira Date: 2001-11-17T16:29:36+09:00 Subject: [ruby-dev:15203] Re: uri.rb In article <20011113012228.C2E743546D@rb.arika.org>, akira yamada / $B$d$^$@$"$-$i(B writes: > rough$B$KF~$l$F$b$i$C$?D>8e$"$?$j$G(B > knu$B$5$s$,$$$/$D$+$NItJ,$rD>$7$F$/$@$5$C$F$+$i$O(B > $BFC$KJQ2=$O$J$$$G$9(B. $B5$$,$D$$$?$s$G$9$,!"(Bcommon.rb $B$N(B HEX4 = "[#{HEX}]{4}" $B$H$$$&$N$O(B HEX4 = "[#{HEX}]{1,4}" $B$N4V0c$$$J$s$8$c$J$$$G$9$+$M$'!#(B $B$H$3$m$G!"(B /(?:\A(?:(?:(?:(?:[0-9A-Fa-f]{1,4})(?:(?::(?:[0-9A-Fa-f]{1,4}))*))|(?:(?:[0-9A-Fa-f]{1,4})(?:(?::(?:[0-9A-Fa-f]{1,4}))*)(?:::)(?:(?:(?:[0-9A-Fa-f]{1,4})(?:(?::(?:[0-9A-Fa-f]{1,4}))*))?))|(?:(?:::)(?:(?:(?:[0-9A-Fa-f]{1,4})(?:(?::(?:[0-9A-Fa-f]{1,4}))*))?)))(?:(?::(?:(?:\d{1,3})\.(?:\d{1,3})\.(?:\d{1,3})\.(?:\d{1,3})))?))\z)/ $B$N$+$o$j$K(B %r{#{ hexdig = ReGen[?0..?9, ?a..?f, ?A..?F] hex4 = hexdig ** (1..4) hexseq = hex4 * (ReGen[":"] * hex4).closure hexpart = hexseq | hexseq * "::" * [ hexseq ] | ReGen["::"] * [ hexseq ] ipv6prefix = hexpart * "/" * ReGen::Digit ** (1..2) ipv4address = ReGen::Digit ** (1..3) * "." * ReGen::Digit ** (1..3) * "." * ReGen::Digit ** (1..3) * "." * ReGen::Digit ** (1..3) ipv6address = hexpart * [ ReGen[":"] * ipv4address ] ReGen::BOS * ipv6address * ReGen::EOS }}o $B$H=q$1$k4qL/$J$b$N$r=q$$$?$s$G$9$,!"6=L#$N$"$k?M!"$$$^$9(B? # $B$H$$$&$+!"(Bresolv.rb $B$G;H$$$?$$$s$G$9$,!#$^$!!"@8@.:Q$_$N$r%O!<%I%3!<(B # $B%I$7$F$b$$$$$s$@$1$I!#(B -- [$BEDCf(B $BE/(B][$B$?$J$+(B $B$"$-$i(B][Tanaka Akira] $B!V$U$($m(B! $B$o$+$a$A$c$s:n@o$G$9$(C"=$B!W(B(Little Worker, $B7KM7@84](B)