我需要讓路由匹配以下四種格式:需要使用的Z Rails的路由約束正則表達式,但得到一個錯誤
- 富
- foo.json
- foo.bar
- foo.bar.json
如果路由與「以.json」結束,就在該部分應匹配,所以對於那些四個例子的唯一可能的匹配會是「foo」和「foo.bar」。
我想出了以下正則表達式:/.*?(?=\.json|\Z)/
,但它不工作,由於Rails不允許你在一個路由約束使用\Z
:
正則表達式錨字符不允許在路由需求:
/.*?(?=\.json|\Z)/
有沒有辦法繞過這個或另一個正則表達式我可以使用?
做了'.json'可選..'?(?:\。JSON)' –
@LeeJarvis將是什麼樣子作爲一個完整的正則表達式?我無法讓它工作。 –
@RossPenman你的意思是[this](http://rubular.com/r/veo8DawTmI)? – HamZa