我的网址格式如下:
http://domain.com/post-type/category/category-name/page/2
无论如何都需要仅提取category-name
。
例如,在网址:
http://domain.com/projects/category/print/page/2
我只想要这个词
print
我正在尝试这个正则表达式:category\/(.+)\/(?(?=(?:category)\/)^|(.+))\/(.+)\/?$
通过一些搜索拼凑在一起,但我真的对Regex感到困惑。
注意
我在PHP中执行此操作(我认为是正则表达式,对吗?)。目前,Wordpress代码如此:$newrules['projects/category/(.*/?)$'] = 'index.php?post_type=project&project_cat=$matches[1]';
似乎在projects/category/
修改
是否也可以获取页码?
例如:http://domain.com/post-type/category/category-name/page/2
是否可以仅将category-name
和2
作为单独匹配?
答案 0 :(得分:2)
你必须使用一个不合理的匹配器.+?
?
后面的.+
表示 ungready ,并且在找到第一个版本后会停止匹配。在这种情况下,这是/.+
。
/category\/(.+?)\/.+/
答案 1 :(得分:0)
你可以试试这个正则表达式。
(?<=http:\/\/domain\.com\/projects\/category\/)([^\/]+)