我想在“ jsession”之后或行尾之前进行比赛。 我写了一些部分有用的东西,但是如果匹配项在行尾,则不起作用。
Ex1:
/uims/portal/IDV_CAM10_AUTHENTICATION;jsessionid=0000OYmR64-Ta621IoBwHtBKJHu:14ak8djk8?__trats=&__arxasnkucl=b8eb142325f2478896d7ccf53d072646579e99e0db0cec837ee5826bc3f922e8&__dne=
Ex2:
/uims/portal/IDV_CAM10_AUTHENTICATION;jsessionid=0000OYmR64-Ta621IoBwHtBKJHu:14ak8djk8#__trats=&__arxasnkucl=b8eb142325f2478896d7ccf53d072646579e99e0db0cec837ee5826bc3f922e8&__dne=
Ex3:
/uims/portal/IDV_CAM10_AUTHENTICATION;jsessionid=0000OYmR64-Ta621IoBwHtBKJHu:14ak8djk8
正则表达式:(?<=jsessionid=).*(?=\?|#)
适用于1&2,但不适用于3。
答案 0 :(得分:2)
我想这就是你想要的:
jsessionid=([^#?]+)
将从jessionid=
到#
,?
或字符串结尾(以先到者为准)进行匹配。它使用否定字符类,即[^stuff]
。非常便利。这是一个演示: