如何在.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/[^/]+/");