在regex中获取一个子组

时间:2012-04-23 14:07:52

标签: regex apache url rewrite

在我的.htaccess中,我做了一些rewriteURL,但是我有一些问题需要获取数据。

我有:RewriteRule ^forum/([0-9]+)-([a-zA-Z]+)/([0-9]+)-([a-zA-Z]+)/?$ index.php?page=forum&category=$1&topic=$3 [NC,L]

所以我可以举例说明:index.php?page=forum&category=123&topic=456这个URL forum/123-cat/456-topic

但我想要这个正则表达式^forum/([0-9]+)-([a-zA-Z]+)(/([0-9]+)-([a-zA-Z]+))?/?$,但3美元得到456-topic而不只是456

那么如何获得456

谢谢你>

1 个答案:

答案 0 :(得分:2)

3美元就是全部;你想要的是4美元。

打开括号计数。 ([0-9]+)为1美元,([a-zA-Z]+)为2美元,(/([0-9]+)-([a-zA-Z]+))为3美元,([0-9]+)为4美元,([a-zA-Z]+)为5美元。