Regex 匹配AngularJS ui路由器中的一个或另一个单词
使用AngularJS+ui路由器,我需要将url与以下两个词中的一个匹配: i、 e.Regex 匹配AngularJS ui路由器中的一个或另一个单词,regex,angularjs,Regex,Angularjs,使用AngularJS+ui路由器,我需要将url与以下两个词中的一个匹配: i、 e./oneWord/..或/secondWord 路由和控制器几乎相同,因此我希望避免重复代码 但是,在正则表达式应该工作的地方,使用我习惯的正则表达式是行不通的: url:'/{type:(一个词|第二个词)}/:group', 但是,它会抛出一个错误: route'/{type:(一个字|第二个字)}/:group' 不过,正则表达式应该可以工作,因为它可以很好地工作: url:“/{page:[0-9]{
/oneWord/..
或/secondWord
路由和控制器几乎相同,因此我希望避免重复代码
但是,在正则表达式应该工作的地方,使用我习惯的正则表达式是行不通的:
url:'/{type:(一个词|第二个词)}/:group',
但是,它会抛出一个错误:
route'/{type:(一个字|第二个字)}/:group'
不过,正则表达式应该可以工作,因为它可以很好地工作:
url:“/{page:[0-9]{1,8}}”
我知道(oneWord | secondWord)
是一个有效的正则表达式,所以我遗漏了什么?根据规则,您不应该在正则表达式模式中使用捕获括号
这应该行得通:
url:'/{type:(?:oneWord | secondWord)}/:group'
我完全没有注意到,甚至前几天才读到。谢谢如果网站允许,我会接受答案。如果第二个单词为空,对正则表达式有什么建议吗?它可以是url:'/{type:(?:oneWord | null)}/:group'
对于不应与oneWord
匹配的参数,正则表达式是什么?