<p class="page">第一页</p>
<p class="txt">wofjowjfwojfwoeriu</p><p class="txt">wofjowfwoeriu</p>
<p class="page">第二页</p>
<p class="txt">2wofjow2jfwojfwo2eriu</p>
<p class="page">第三页</p>
<p class="txt">wofjo3wjfwojfwoeriu</p><p class="txt">wo3fjowfwo33eriu</p>
如何用正则从以上文本中取出指定内容后按以下形式存储string[,] newArray = { {"第一页", "<p class=\"txt\">wofjowjfwojfwoeriu</p><p class=\"txt\">wofjowfwoeriu</p>
"}, ...,从此类推 };
解决方案 »
- asp.net 性能测试问题
- 请教!如何提取服务器控件Repeater里面的checkbox的个数呢?
- 鼠标经过,层跟着显示。鼠标离开层小时的实现
- 这个问题如何解决?
- 如何把asp.net网站上传到我的空间里?为什么我传进去后,显示内部服务器错误,而本地却是没问题的
- datagrid分页,为什么PageIndexChanged不执行!
- 有谁用过Microsoft Search Server 这个产品?
- 递归方法
- 数据库连接
- 如何用javascript得到某个Cell在Table中的行值和列值
- ASP.NET页面连接Oracle数据库,连接数过多,求解。
- Sql 2005自带的生成脚本能生成带数据的吗
MatchCollection mc = Regex.Matches(str, @"(?s)<p class=""page"">([^<]*)</p>\s*((?:<p class=""txt"">[^<]*</p>)+)");
string[,] newArray = new string[mc.Count, 2];
for (int i = 0; i < mc.Count; i++)
{
string v1 = mc[i].Groups[1].Value;
string v2 = mc[i].Groups[2].Value;
newArray[i, 0] = v1;
newArray[i, 1] = v2;
}
void Main()
{
string s=@"<p class=""page"">第一页</p>
<p class=""txt"">wofjowjfwojfwoeriu</p><p class=""txt"">wofjowfwoeriu</p>
<p class=""page"">第二页</p>
<p class=""txt"">2wofjow2jfwojfwo2eriu</p>
<p class=""page"">第三页</p>
<p class=""txt"">wofjo3wjfwojfwoeriu</p><p class=""txt"">wo3fjowfwo33eriu111</p>"; foreach(Match m in Regex.Matches(s,@"(?is)<p\sclass=""page"">([^<]+)</p>.*?((<p\sclass=""txt"">[^<]*</p>[^<]*)+)"))
{
Console.WriteLine(m.Groups[1].Value);
Console.WriteLine(m.Groups[2].Value);
}
/*
第一页
<p class="txt">wofjowjfwojfwoeriu</p><p class="txt">wofjowfwoeriu</p>第二页
<p class="txt">2wofjow2jfwojfwo2eriu</p>第三页
<p class="txt">wofjo3wjfwojfwoeriu</p><p class="txt">wo3fjowfwo33eriu111</p> */
}
内容中class="不定"
任意html代码1
<p class="page">第二页</p>
任意html代码2
<p class="page">第三页</p>
任意html代码3
我想要的数据结构如下页标题 页内容
第一页 任意html代码1
第二页 任意html代码2
第三页 任意html代码3
@"(?s)<p class=""page"">([^<]*)</p>(.*?)(?=<p class=""page"">|$)"