日期:2014-05-17  浏览次数:20456 次

求助:用正则表达式分离字符串中内容
希望用正则式 分别 提取下面字符串中红色的部分的内容,谢谢


<div id="ctl00_conLeft_divInfro" class="txt_Left"><ul><li><span class="tit">主讲人:<a href="/Teacher/TeacherInfo.aspx?Hid=160" title="查看TA的主页">李宁</a></span></li><li><span class="tit">主讲人介绍:</span>北京市学院路中学数学教师,北京市海淀区数学学科区级骨干教师。在北京市教师基本功展示活动中获二等奖。教学风格亲切,深受学生喜爱。</li></ul></div>

------解决方案--------------------
C# code
string tempStr = File.ReadAllText(@"C:\Documents and Settings\Administrator\桌面\Test.txt", Encoding.GetEncoding("GB2312"));//读取txt
                string pattern = @"(?i)<span[^>]*?class=(['""]?)tit\1[^>]*?>[\s\S]*?<a[^>]*?href=(['""]?)[^'""]*?\?Hid=(?<Hid>\d+)[^'""]*?\2[^>]*?>(?<a_text>[^<>]+?)</a>";
                pattern += @"[\s\S]*?<span[^>]*?class=(['""]?)tit\3[^>]*?>(?<value>[\s\S]*?)</li>";

                foreach (Match m in Regex.Matches(tempStr, pattern))
                {
                    //循环输出
                    string v1 = m.Groups["Hid"].Value;//160
                    string v2 = m.Groups["a_text"].Value;//李宁
                    string v3 = m.Groups["value"].Value;//主讲人介绍:</span>北京市学院路中学数学教师,北京市海淀区数学学科区级骨干教师。在北京市教师基本功展示活动中获二等奖。教学风格亲切,深受学生喜爱。
                   

                }