0

W3C によって公開されたURL BNFに基づいて URL の Java 正規表現を実装しているときに、検索部分を理解できませんでした。引用されたように:

httpaddress             h t t p :   / / hostport [  / path ] [ ?
                         search ]   
search                  xalphas [ + search ]   
xalphas                 xalpha [ xalphas ]   
xalpha                  alpha | digit | safe | extra | escape   
alpha                   a | b | c | d | e | f | g | h | i | j | k |
                         l | m | n | o  | p | q | r | s | t | u | v |
                         w | x | y | z | A | B | C  | D | E | F | G |
                         H | I | J | K | L | M | N | O | P |  Q | R |
digit                   0 |1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9   
safe                    $ | - | _ | @ | . | &  | + | - 
extra                  ! | * |  " |  ' | ( | )  | , 

検索は、プラス記号で区切られた xalphaであると主張しています。xalphasは、 safeで主張されているように、それ自体にプラス記号を含めることができます。したがって、私の理解によれば、次のようになります。

search     xalphas

ここでどこが間違っていますか?

4

1 に答える 1

1

これは明らかに間違いです(+はURIの予約済み区切り文字です)が、リンクしているBNFは古くなっているようです。おそらく、最新のRFC3986の最後に含まれているものを使用するのが最善です。

于 2010-04-14T13:27:52.097 に答える