我有一个如下格式的URL:
http://domain.com/post-type/category/category-name/page/2
并且不管接下来发生什么,只需要提取category-name。
例如,在url中:
http://domain.com/projects/category/print/page/2
我只想要这个词
print
我正在尝试这个regex:category\/(.+)\/(?(?=(?:category)\/)^|(.+))\/(.+)\/?$通过一些搜索拼凑在一起,但我真的很困惑于Regex。
http://regex101.com/r/uG8pV8
Note
我正在PHP中执行此操作(我认为是regex,对吗?)目前,Wordpress代码是这样的:$newrules['projects/category/(.*/?)$'] = 'index.php?post_type=project&project_cat=$matches[1]';,它似乎采用了projects/category/之后的整个URL
编辑
也可以得到页码吗?
例:http://domain.com/post-type/category/category-name/page/2
是否可能只获得category-name和2作为单独的匹配?
发布于 2013-11-04 12:37:49
您必须使用一个非贪婪的匹配器.+?,.+后面的?表示ungready,它在找到自己后面的第一个模板项后停止匹配。在本例中,这是/.+。
/category\/(.+?)\/.+/发布于 2013-11-04 12:42:45
你可以试试这个正则表达式。
(?<=http:\/\/domain\.com\/projects\/category\/)([^\/]+)https://stackoverflow.com/questions/19767824
复制相似问题