我需要一个匹配两个虚拟文件夹的正则表达式;给定网址中的第一个和最后一个:
www.example.com/的 first_folder /一些/附加/串/的/文件夹/的 last_folder /
到目前为止,我有这个正则表达式:(?<!/)/[^/?#]+
但它匹配所有文件夹:(
我需要这个才能在WordPress中使用重写规则。将http://mysite/project/1重写为http://mysite/index.php?pagename=project&id=1的快速而肮脏的示例:
$newrules = array();
$newrules['(project)/(\d*)$'] = 'index.php?pagename=$matches[1]&id=$matches[2]';
答案 0 :(得分:2)
快速而肮脏的解决方案,即没有使用十亿种可能的网址等组合进行彻底测试,因此请将其与一粒盐一起服用..
.*?/(\w+)/.*?/(\w+)/$
输入:
www.example.com/first_folder/some/additional/bunch/of/folders/last_folder /
输出:
$1 prints first_folder
$2 prints last_folder