正则表达式 - IIS URL重写分页

问题描述:

我的URL看起来像这样:正则表达式 - IIS URL重写分页

domain.com/12345/some-product-category 

,并与可选的分页:

domain.com/12345-2/some-product-category 

到目前为止,我的模式是这样的:

^([0-9]{5})(-[0-9]+)?/([_0-9a-z-]*) 

但是捕获{R:2}返回“-2”而不是“2”......我如何解决这个问题?

你可以使用一个表达式是这样的:

^(\d{5})(?:-(\d+))?/([\w-]*) 

因为你已经放在你的组-[0-9]+而不是[0-9]+。你应该从组中减去负号。
试试这个正则表达式^([0-9]{5})(-([0-9]+))?/([_0-9a-z-]*),并采取组3

+0

“ - ”号也optinal与分页号一起。以上将失败。 – user1070125 2012-01-31 07:57:02

+0

我编辑了我的答案。看一看。 – shift66 2012-01-31 08:00:58