首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >怎么写这样的url模式?

问怎么写这样的url模式?
EN

Stack Overflow用户
提问于 2016-02-01 18:56:48
回答 1查看 34关注 0票数 1

我需要与以下内容匹配的路由器的URL模式:

代码语言:javascript
复制
/page_name.html
/page_name.html/1
/page_name.html/2
....
/page_name.html/999

preg_match()必须将page_name放入matches1中,然后将数字斜杠放入匹配的2中。

我需要这个和我的爸爸不一样:

代码语言:javascript
复制
/page_name.html/
/page_name.html131

我写了这个:

代码语言:javascript
复制
^\/([\w\-]+)\.html[\/]?([\d]{1,3})?$/

但是它计算了像/page_name.html123这样的URL,如果没有数字,就不会将任何内容放入matches2中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-01 19:02:58

您可以使用这个regex:

代码语言:javascript
复制
preg_match('~^/([\w-]+)\.html(?|/(\d{1,3})|())$~', $matches, $input);

RegEx演示

  • (?|...) -在此构造的每个选项中声明的子模式将从相同的索引开始。这是为了确保始终用一些东西填充$matches[2],甚至是空字符串。
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35138137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档