^(?:([a-zA-Z]+):)?(\/{0,3})([0-9.\-a-zA-Z]+)(?::(\d+))?(?:\/([^?#])*)?(?:\?([^#]*))?(?:#(.*))?$
详细:
此子表达式匹配协议 可以没有协议
^(?:([a-zA-Z]+):)?^ //匹配行首开始
([a-zA-Z]+): //匹配协议
(\/{0,3})//匹配//or ///([0-9.\-a-zA-Z]+) //主机 字母,数字,.
(?::(\d+))? 端口
(?:\/([^?#])*)? //path 除了?#
(?:\?([^#]*))? //参数 以?开始
[code="java"]
?:#(.*))?$ //#部分
1012

被折叠的 条评论
为什么被折叠?



