在这一刻,我有了下一个MapRoute
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional },// Parameter defaults
new { controller = @"[^\.]*" } // Parameter constraints
);
我定义的约束是controller = @“[^。] *”
我需要一个约束来避免名为“Images”的控制器。
我该怎么做?
答案 0 :(得分:1)
没有必要使用反斜杠来逃避点,因为点在字符类中没有特殊含义。
为此,您可以使用否定前瞻:
new { controller = @"(?!Images)[^.]*" }
负向前瞻是一个锚点,就像^
或$
一样,它不会消耗正则表达式中的文本,它正在寻找位置输入文字。 lookarounds的另一个名称是零宽度断言。