上边的表达式是
(?s){datalist(\s+linktype=""(? <linktype>[^""\{\}](.*?))"")?(\s+showtype=""(? <showtype>[^""\{\}](.*?))"")?([\s\}]{1})(? <fieldall>(.*?)){/datalist}
(?s){datalist(\s+linktype=""(? <linktype>[^""\{\}](.*?))"")?(\s+showtype=""(? <showtype>[^""\{\}](.*?))"")?([\s\}]{1})(? <fieldall>(.*?)){/datalist}
解决方案 »
- ASP.NET 配置错误问题
- 只允许上传 GIF JPG类型的文件
- 新手求教!!!asp.net取网站xml内容
- sqlserver日期问题
- 请教大师们,在线客服系统应该怎么搞
- 找不到类型或命名空间名称“CrystalReport1”(是否缺少 using 指令或程序集引用?)
- 如何获取从何处进入的本网站~
- 关于一次插入多行记录,大家有什么好的建议?
- 如何在web.config可以设置验证模式的。防止用户匿名访问?
- 为什么我SQLSERVER中的 int datetime 这些类型的数据在DataGrid 中都出不来???
- 急!!后台怎么遍历循环取值!!!
- ASP.NET(VB) 如何接收模式窗口的返回值
//试试看
String str = @"{datalist linktype="""" showtype=""10"" }";
str = str.Trim();
Regex objRegex2 = new Regex(@"(?ins)^{datalist\s+((showtype=""(?<showtype>[^}]*)""\s+linktype=""(?<linktype>[^}]*)"")|(linktype=""(?<linktype>[^}]*)""\s+showtype=""(?<showtype>[^}]*)"")) \s*}$");
Match objMatch1 = objRegex2.Match(str);
if (objMatch1.Success) {
//这个就是你要的 objMatch1.Result("${showtype}"), objMatch1.Result("${linktype}")
}
//试试看
String str = @"{datalist linktype="""" showtype=""10"" }";
str = str.Trim();
Regex objRegex2 = new Regex(@"(?ins)^{datalist\s+((showtype=""(?<showtype>[^}]*)""\s+linktype=""(?<linktype>[^}]*)"")|(linktype=""(?<linktype>[^}]*)""\s+showtype=""(?<showtype>[^}]*)"")) \s*}$");
Match objMatch1 = objRegex2.Match(str);
if (objMatch1.Success) {
//这就是你要的 objMatch1.Result("${showtype}"), objMatch1.Result("${linktype}")
}
MatchCollection mc = Regex.Matches(yourStr, @"(?is)\{datalist(?=[^{}]*showtype=""(?<showtype>[^""]*)"")[^{}]*linktype=""(?<linktype>[^""]*)""[^{}]*\}(?<fieldall>(?:(?!\{/datalist}).)*)\{/datalist\}");
foreach (Match m in mc)
{
richTextBox2.Text += m.Groups["showtype"].Value + "\n";
richTextBox2.Text += m.Groups["linktype"].Value + "\n";
richTextBox2.Text += m.Groups["fieldall"].Value + "\n";
}