【发布时间】:2017-08-13 20:27:47
【问题描述】:
我正在尝试制定一个正则表达式模式来匹配 URL。
我目前有这样的 URL 结构
walks/category/catname
walks/category/catname/P12
walks/category/catname/P24
我希望能够匹配它们并替换它们,所以它们最终会像这样
walks/catname
walks/catname/p2
walks/catname/p3
(其中 catname 是一个变量)
目前为止
/walks/category/(.*) 到 /walks/$1
这似乎适用于结果的第一页,但显然不适用于分页的结果。
我有点卡住了,所以任何指针都会非常感激。
谢谢!
【问题讨论】:
-
分页层不包含在您的
(.*)正则表达式位中并不明显。如果您将/walks/category/catname/P13之类的分页URL 发送到正则表达式/walks/category/(.*)中,则应该是这样。如果您不是,并且只发送像/walks/category/catname/这样的基本URL,那么这些页面甚至根本就没有正则表达式匹配,所以您不能期望将/walks/category/catname/更改为/walks/catname/p10,因为正则表达式在给定 URL 的任何地方都看不到任何关于/p10的信息。如果完整的分页 URL 正在被传递给正则表达式,它应该匹配。 -
这就是我的想法,这就是正在发生的事情。只是基本 URL。不确定如何包含分页变量。
-
在这种情况下,我建议再问一个更适合您情况的问题。现在的问题是如何将分页 URL 传递到正则表达式中,假设这仍然是您想要使用的方法。