假设我要匹配此文本:
http://localhost:8080/start.jsp;jsessionid=9E4CDB636248C9610F57704E5E07F782?whatever=true&somethingelse=true
使用这个正则表达式:
^(.*?start\.jsp)(?:\;jsessionid=[^\?#]*)?(\?[^#]*)?(#.*)?$
结果组是:
http://localhost:8080/start.jsp
?whatever=true&somethingelse=true
A. 为什么第 2 组不是这个:;jsessionid=9E4CDB636248C9610F57704E5E07F782
?第二组开始的
这部分是做什么的??:\
begin.jsp
B. 此外,如果我的选项是and start.jsp
(不仅仅是start.jsp
),我如何创建一个表达式来提取与上面示例相同的组jsessionid
?