string raw = "[[image:home.png]][[image:school.png]]";
Regex image = new Regex(@"\[\[(\:|.*)image\:.+?\]\]", RegexOptions.IgnoreCase);
Match mat = image.Match(str);
while (mat.Success)
{
str = str.Substring(mat.Index + mat.Length);
Response.Write(mat.Value+"---");
mat = image.Match(str);
}
期望输出:[[image:home.png]]---[[image:school.png]]---
实际输出:[[image:home.png]][[image:school.png]]---分析:正则并没有匹配第一个“]]”,而是直接匹配了最后一个“]]”