RegExp - 从pathname字符串中删除/ en或/ de并返回rest

时间:2016-11-02 15:14:50

标签: regex

我想从window.location.pathname中删除语言短代码。

可能的输入字符串

/delorean
/de/page.html
/en/page.html
/
/spaceman
/en/
/en

所需的输出字符串

/delorean
/page.html
/page.html
/
/spaceman
/
/

目前的方法

(^\/(uk|de|au|en)\/{0,1})(.*)

我想使用$ 3来使用剩下的字符串,但我遇到了一些问题。

它适用于所有测试过的字符串,除了以re | en | uk(delorean,deep_purple,ephalphalograph,ukraine)等reserverd字符串开头的字符串。它返回lorean,ep_purple,cephalograph,raine。

如何修复那些字符串?

链接到regex101.com https://regex101.com/r/0GGzeg/1

1 个答案:

答案 0 :(得分:2)

这对您有用,只需用/$3第3个捕获组代替/

^(\/(uk|de|au|en)\b\/?)(.*)

参见工作示例https://regex101.com/r/0GGzeg/3

enter image description here