我有这么一个数据:
<p class="L_n"><span t="1" u="1111111" n="张三" e="1111111">&nbsp;张三</span></p><p class="L_e"><span t="1" u="1111111" n="张三" e="1111111">男</span></p><p class="L_e L_desc addrtitle" title="一年级一班" >一年级一班</p><!-- <span></span> -->想用正则表达式进行筛选 最后输出结果是  一年级一班 张三 男 
请教应该怎么写代码呢? 

解决方案 »

  1.   

    为什么用正则表达式呢?直接用sax或者dom来进行解析啊,方便快捷!dom在很多语言都有解析器的
      

  2.   


    这个数据是在一个txt文本里存的
      

  3.   

    正则
    (?is)<p[^>]+>(<span[^>]*>)?(.*?)(</span>)?</p>
                string input = File.ReadAllText(@"C:\1.txt", Encoding.GetEncoding("gb2312"));
                List<string> list = new List<string>(); 
                MatchCollection m = Regex.Matches(input, @"(?is)<p[^>]+>(<span[^>]*>)?(.*?)(</span>)?</p>");
                foreach (Match mx in m)
                {
                  
                    list.Add(mx.Groups[2].Value);
                }