2011-09-30 94 views
0

我想写一个正则表达式的ASP.NET MapPageRoute匹配特定类型的路径。ASP.NET路由正则表达式匹配特定模式

我不想匹配任何文件扩展名,所以我使用这个正则表达式^ [^。] * $,它工作正常,除了它也拾起如果默认文档被请求。我不希望它拿起默认文档,所以我一直在试图将其更改为至少需要一个字符。我尝试在工作正则表达式的开头添加{1,}或。+,但它一起停止工作。

routes.MapPageRoute("content", "{*contentpath}", "~/Content.aspx", true, new RouteValueDictionary { }, new RouteValueDictionary { { "contentpath", @"^[^.]*$" } }); 

如何更改我的正则表达式来完成此操作?

不幸的是,我的大脑似乎无法正确学习正则表达式。

回答

0

你想你的*量词更改为+*匹配零次或多次,而+匹配一个或多个。所以,你问的是:

^[^.]+$ 

的正则表达式是实现这一点:“在字符串的开头,匹配不.所有字符,至少一次,最多的结束串。”

0

^[^.]+$

零是*因为一个是+