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                  ! | * |  " |  ' | ( | )  | , 

搜索声称它是由加号分隔的 xalphas 。正如safe所声称的那样, xalphas可以自己包含加号。因此,根据我的理解,它应该是:

search     xalphas

我在这里错在哪里?

4

1 回答 1

1

这显然是一个错误(+ 是 URI 的保留分隔符),但您链接到的 BNF 似乎已过时。可能最好使用最新 RFC 3986 末尾包含的那个

于 2010-04-14T13:27:52.097 回答