2016-11-30 99 views
1

嗨,大家在寻找一些帮助,我的regex。我已经成功地走到这一步:可选正斜杠正则表达式URL路径

((^en-uk\/)|(^en-ca\/)|(^en-ie\/)|(^\/))about\/?$

这将匹配以下URL

  • EN-UK /约
  • EN-UK /约/
  • EN-CA /约
  • en-ca /约/
  • en-ie /约
  • EN-IE /约/

但是我想要做的是也说,在开始的斜杠是可选的,所以,这些网址也将匹配

  • /恩英国/约
  • /EN-IE /约/

我明白?将使字符可选的,所以例如TES T公司将匹配检验和TET所以我试图更新regex是这样的:

\/?((^ie\/)|(^en-ca\/)|(^uk\/)|(^\/))test\/?$ 

但它也没有工作

+0

刚刚在开头添加'\ /?',所以'/'是可选的 – Fallenhero

+1

我很好奇你为什么还没有尝试在'^'之后添加'\ /?',因为你已经在'\ /?$'模式。 –

+0

我只是没有看到它,但现在它通过做'(^ \ /?ie \ /)'是有道理的,这将意味着1.尽量以ie /开头,但/是可选的 – Javacadabra

回答

4

您可以使用

^\/?(en-(?:uk|ca|ie))\/about\/?$ 

Debuggex Demo

详细

  • ^ - 启动字符串的
  • \/? - 可选/
  • (en-(?:uk|ca|ie)) - en-随后与替代品1:ukcaie
  • \/about -​​串
  • \/? - 可选/
  • $ - 字符串结尾
相关问题