62,243
社区成员




string pattern = @"(?i)\{demo:(?<name>[^\s{}]*)\s+(?<attributes>[^\s=]*)[^{}]*/}|\{demo:(?<name>[^\s{}/]*)\s+(?<attributes>[^\s=]*)[^{}]*?}(?<text>[^{}]*({demo[^}]*}(?<Open>)|{/demo[^}]*}(?<-Open>)|(?:(?!{/?demo\b)[\s\S])*)*)({/demo[^}]*})?";
string tempStr = @"{demo:loop id=1}
sdfwsdf
{demo:loop id=2}测试一{/demo:loop}
{demo:loop id=3}测试二{/demo:loop}
{/demo:loop}";
string pattern = @"(?i)\{demo:(?<name>[^\s{}]*)\s+(?<attributes>[^\s=]*)[^{}]*?}(?<text>[^{}]*({demo[^}]*}(?<Open>)|{/demo[^}]*}(?<-Open>)|(?:(?!{/?demo\b)[\s\S])*)*)({/demo[^}]*})?";
foreach (Match m in Regex.Matches(tempStr, pattern))
{
//循环输出
string value = m.Value;
/* 匹配内容
{demo:loop id=1}
sdfwsdf
{demo:loop id=2}测试一{/demo:loop}
{demo:loop id=3}测试二{/demo:loop}
{/demo:loop}
*/
string name = m.Groups["name"].Value;//loop
string text = m.Groups["text"].Value;//
/* 匹配内容
sdfwsdf
{demo:loop id=2}测试一{/demo:loop}
{demo:loop id=3}测试二{/demo:loop}
*/
}
string tempStr = @"{demo:loop id=1}
sdfwsdf
{demo:loop id=2}测试一{/demo:loop}
{demo:loop id=3}测试二{/demo:loop}
{/demo:loop}";
string pattern = @"(?i)\{demo:(?<name>[^\s{}]*)\s+(?<attributes>[^\s=]*)[^{}]*?}(?<text>[^{}]*)({demo[^}]*}(?<Open>)|{/demo[^}]*}(?<-Open>)|(?:(?!{/?demo\b)[\s\S])*)*{/demo[^}]*}";
foreach (Match m in Regex.Matches(tempStr, pattern))
{
//循环输出
string text = m.Value;
string name = m.Groups["name"].Value;//loop
/* 匹配内容
{demo:loop id=1}
sdfwsdf
{demo:loop id=2}测试一{/demo:loop}
{demo:loop id=3}测试二{/demo:loop}
{/demo:loop}
*/
}
string tempStr = @"{demo:loop id=1}
sdfwsdf
{demo:loop id=2}测试一{/demo:loop}
{demo:loop id=3}测试二{/demo:loop}
{/demo:loop}";
string pattern = @"(?i)\{demo:(?<name>[^\s{}]*)\s+(?<attributes>[^\s=]*)[^{}]*?}(?<text>[^{}]*)({demo[^}]*}(?<Open>)|{/demo[^}]*}(?<-Open>)|(?:(?!{/?demo\b)[\s\S])*)*{/demo:(?<name>[^\{}]*?)[^}]*}";
foreach (Match m in Regex.Matches(tempStr, pattern))
{
//循环输出
string text = m.Value;
/* 匹配内容
{demo:loop id=1}
sdfwsdf
{demo:loop id=2}测试一{/demo:loop}
{demo:loop id=3}测试二{/demo:loop}
{/demo:loop}
*/
}