如何在.NET中与正则表达式“最短匹配”相匹配

我正面临着Regex的问题……我必须匹配sharepoint URL ..我需要匹配“最短”

就像是:

http://aaaaaa/sites/aaaa/aaaaaa/ m = Regex.Match(URL, ".+/sites/.+/"); 

m.Value等于整个字符串……

我怎样才能让它匹配

 http://aaaaaaa/sites/aaaa/ 

没别的?

非常感谢你!

.+贪婪,所以它会在停止之前匹配尽可能多的字符。 将其更改为.+? 比赛将尽快结束:

 m = Regex.Match(URL, ".+/sites/.+?/"); 

尝试使正则表达式匹配除了/而不是简单的所有内容。 这是通过使用字符类atom [^]的notforms完成的。

 m = Regex.Match(URL, ".+/sites/[^/]+/");