正则表达式怎么写!得到P标签里面的数据
<div class="game_info1">
<p>分类:<a href="/flash_fl/13_1.htm" class="green">儿童小游戏</a> | 大小:205K | 日期:2介绍012-09-03</p>
<p>专题:<a href='/special/223.htm'>幼儿教育</a> <a href='/special/202.htm'>学习类</a> </p></div>
我要分别得到
儿童小游戏
205
跟专题标签里面的数据以逗号隔开(不包括<a>)
<div class="operate">
<div id="GameKey">
<ul><li><SPAN class=ico_c_mouseleft></SPAN>鼠标操作</li></ul><div class='clear'></div><div class="game_cz_fg"></div>
<div class="clear"></div>
</div>
鼠标控制移动,左键点击调下踩跷跷板,注意要踩到正确的答案哦!</div>
<!-- 装扮类独有提示开始 -->
<!-- 装扮类独有提示结束 -->
<h2 class="h2_t t6" title="如何开始"></h2>
<div class="game_caption">游戏加载完成后点击右下角的按钮开始游戏</div>
<h2 class="h2_t t3" title="游戏目标"></h2>
<div class="game_caption"><P>正确的选择算术题的答案,挑战好的成绩吧!</P></div>
</div>
我要得到<div class="operate"> 里面的所有数据
<!-- 装扮类独有提示开始 -->
<!-- 装扮类独有提示结束 -->
不包括这个里面的
我该怎么写
[解决办法]
string tempStr = File.ReadAllText(@"C:\Documents and Settings\Administrator\桌面\Test.txt", Encoding.GetEncoding("utf-8"));//读取txt string pattern_1 = @"(?i)<div[^>]*?class=(['""]?)game_info1\1[^>]*?>\s*?<p>[\s\S]*?<a[^>]*?>([^<>]+?)</a>[^::]*?[::](\d+)[\s\S]*?</p>"; pattern_1 += @"\s*?<p>[^<>]+?(<a[^>]*?>(?<text>[^<>]+?)</a>\s*?)*?</p></div>"; //tempStr = Regex.Replace(tempStr,pattern,"<tr>$0</tr>"); foreach (Match m in Regex.Matches(tempStr, pattern_1)) { //循环输出 // string t1 = m.Groups[2].Value;//儿童小游戏 string t2 = m.Groups[3].Value;//205 string t3 = string.Join(",", m.Groups["text"].Captures.Cast<Capture>().Select(a => a.Value));//幼儿教育,学习类 }
[解决办法]
第二个注意你div的开始和结束地方
string tempStr = File.ReadAllText(@"C:\Documents and Settings\Administrator\桌面\Test.txt", Encoding.GetEncoding("utf-8"));//读取txt string pattern_2 = @"(?isx)<div[^>]*class=(['""]?)operate\1[^>]*?>((?><div[^>]*> (?<Open>)|</div> (?<-Open>)|(?:(?!</?div\b).)*)*(?(Open)(?!)))</div>"; string result = Regex.Replace(Regex.Match(tempStr, pattern_2).Groups[2].Value, @"<!--[\s\S]*?-->",string.Empty); /* * <div id="GameKey"> <ul><li><SPAN class=ico_c_mouseleft></SPAN>鼠标操作</li></ul><div class='clear'></div><div class="game_cz_fg"></div> <div class="clear"></div> </div> 鼠标控制移动,左键点击调下踩跷跷板,注意要踩到正确的答案哦! */