【发布时间】:2018-04-19 01:43:55
【问题描述】:
我有以下链接结构:
/type1
/type2
/type3
这些链接对应于网站的默认语言。不幸的是,客户端不想在 URL 前面添加默认语言以保持一致性,因此只有其他语言才会有如下 URL:
/en
/en/type1
/de/type2
/de
/fr/type3
/fr
还有很多其他变量,但只有这一部分是动态的。我的正则表达式开始如下:
(en|de|fr)?\/?(type1|type2|type3)?\/?
这基本上意味着如果存在则捕获语言,然后如果存在则捕获页面。但它执行的匹配比要求的要多得多,并且还会捕获空字符串等。
我正在尝试弄清楚如何捕获所有这些选项:
/en
/en/type1
/type1
如果可能的话,当然是用一种表达方式。我怎样才能使两个组中的一个成为必需的,所以基本上 URL 有两个或一个,但从来没有?我将反向引用与前瞻结合起来查看,但我认为我在这里遗漏了一些关键信息......
我想保留这些组,以便 group1 = language 和 group2 = page
【问题讨论】: