使用AngularJS + ui-router,我需要将URL与两个单词之一匹配:
即/oneWord/...
或/secondWord
...
路由和控制器几乎相同,因此我要避免重复代码。
但是,使用我习惯的正则表达式在正则表达式应该起作用的地方不起作用:
url: '/{type:(oneWord|secondWord)}/:group',
但是,它将引发错误:
Unbalanced capture group in route '/{type:(oneWord|secondWord)}/:group'
正则表达式应该可以工作,因为这样可以正常工作:
url: "/{page:[0-9]{1,8}}"
我知道这(oneWord|secondWord)
是有效的正则表达式,所以我错过了什么?
根据文档,您不应该在正则表达式模式中使用捕获括号。
这应该工作: url: '/{type:(?:oneWord|secondWord)}/:group'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句