我想要一个正则表达式,它总是会在查询字符串参数之前返回url的最后一部分,如果不存在,则返回jessionid。
以下是一些网址示例:
http://www.somesite.com/some/path/test.action;jsessionid=000063vCmvJAn7VWyymA_dPsHZs:16u9pglit?sort=2¶m1=1¶m2=2
http://www.somesite.com/some/path/test;jsessionid=000063vCmvJAn7VWyymA_dPsHZs:16u9pglit?sort=2¶m1=1¶m2=2
http://www.somesite.com/some/path/test.action?sort=2¶m1=1¶m2=2
http://www.somesite.com/some/path/test?sort=2¶m1=1¶m2=2
到目前为止,这是我的正则表达式:
.*http://.*/some/path.*/(.*);?.*\?.*
它适用于不包含jsessionid的url,但如果存在则返回test;jessionid=...
。
答案 0 :(得分:0)
我会使用这个regex:
.*http:\/\/.*\/some\/path.*\/([^;\?]+);?.*\?.*
^^^^^^
基本匹配任何非;
或?
的内容。我认为它可能缩短为:
.*http:\/\/.*\/some\/path.*\/([^;\?]+)