我不熟悉正则表达式,但我找不到适合我案例的解决办法。 我的网站使用这样的网址:
(http(s)://www.)website.com/en/someURL
(http(s)://www.)website.com/anotherURL
(http(s)://www.)website.com/de/anotherURL
如果访问website.com/someURL
,website.com/
或website.com
,则会加载默认语言。
我需要一个只允许这些特定语言代码的正则表达式,区分大小写并不重要:
(http(s)://www.)website.com/en
(http(s)://www.)website.com/en/
(http(s)://www.)website.com/
(http(s)://www.)website.com
(http(s)://www.)website.com/de
(http(s)://www.)website.com/de/
答案 0 :(得分:1)
这个正则表达式将起作用:
^((https?)?\:\/\/www\.)?website\.com(\/((de|en)\/?)?)?$
如果你想在[https://regex101.com/][1]上进行一些单元测试,你应该删除开头和结尾的^和$,否则只有你只使用一行才能看到正面结果。
对于测试你可以使用它(如果你想要你可以添加一些行):
https://www.website.com/en
http://www.website.com/en/
https://www.website.com/
https://www.website.com
https://www.website.com/de
https://www.website.com/de/
答案 1 :(得分:1)
你只需要将字母数量限制为两个,然后就可以得到语言\w{2}
https?\:\/\/www\.website\.com\/((\w{2})\/?$|(\w{2})\/)