2011-09-30 68 views
0

我想寫一個正則表達式的ASP.NET MapPageRoute匹配特定類型的路徑。ASP.NET路由正則表達式匹配特定模式

我不想匹配任何文件擴展名,所以我使用這個正則表達式^ [^。] * $,它工作正常,除了它也拾起如果默認文檔被請求。我不希望它拿起默認文檔,所以我一直在試圖將其更改爲至少需要一個字符。我嘗試在工作正則表達式的開頭添加{1,}或。+,但它一起停止工作。

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

如何更改我的正則表達式來完成此操作?

不幸的是,我的大腦似乎無法正確學習正則表達式。

回答

0

你想你的*量詞更改爲+*匹配零次或多次,而+匹配一個或多個。所以,你問的是:

^[^.]+$ 

的正則表達式是實現這一點:「在字符串的開頭,匹配不.所有字符,至少一次,最多的結束串。」

0

^[^.]+$

零是*因爲一個是+