我在网站上添加了一条路线,我想要2条约束。第一个约束是第一个参数应该是小写2个字符,第二个值是字母数字以包括连字符。我已经内置了但是当我尝试访问页面时总是出错。如果我删除第二个约束,则不会抛出错误。这是我做的约束:
routes.MapPageRoute("landing", "{locale}/destinations/{destination}", "~/home-brand.aspx",
True,
New RouteValueDictionary(New With
{.locale = "en", .destination = "a-page"}),
New RouteValueDictionary(New With
{.locale = "[a-z]{2}", .destination = "[\w\-]"}))
现在,如果我像这样添加字符数限制到目的地:
routes.MapPageRoute("landing", "{locale}/destinations/{destination}", "~/home-brand.aspx",
True,
New RouteValueDictionary(New With
{.locale = "en", .destination = "a-page"}),
New RouteValueDictionary(New With
{.locale = "[a-z]{2}", .destination = "[\w\-]{2,20}"}))
页面解决没有任何问题。为什么它不适用于第一个实例,而是在第二个实例中工作?
答案 0 :(得分:0)
要从开始到结束检查 all 输入,请使用字符串锚点的开始/结束("零宽度断言")^
和{{1} },并且还使用匹配前一个子模式的0次或更多次出现的$
量词:
*
请注意,您不必在字符类的末尾转义连字符。