正则表达式与可选组
发布时间:2020-12-14 05:50:15 所属栏目:百科 来源:网络整理
导读:我正在寻找一个正则表达式来匹配以下4个案例(抓住id,所以我可以重写网址) http://localhost/gallery/test-name/123456http://localhost/gallery/test-name/123456/http://localhost/gallery/test-name/123456/video-name/159http://localhost/gallery/test-n
我正在寻找一个正则表达式来匹配以下4个案例(抓住id,所以我可以重写网址)
http://localhost/gallery/test-name/123456 http://localhost/gallery/test-name/123456/ http://localhost/gallery/test-name/123456/video-name/159 http://localhost/gallery/test-name/123456/video-name/159/ 目前正则表达式在下面,但它并没有在所有情况下正确抓取ID.那里的任何专家都知道我做错了什么? ^(.*)/gallery/(.*)/([0-9]{1,15})(/)?((.*)/([0-9]{1,15})(/)?)? 解决方法
.*(你第二次使用它)是贪婪的.因此它会消耗所有内容直到您的最后一个ID.这就是为什么第一个ID会丢失,如果你有两个.反而让它变得不合适:
^(.*)/gallery/(.*?)/([0-9]{1,15})(/)?((.*?)/([0-9]{1,15})(/)?)? 我还加了一个?到最后.*如果你想为此添加更多参数.但是,无论如何,简单地拆分字符串/可能会简单得多. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |