请教一个关于正则表达式的问题

xlk1208 2012-04-21 02:27:24
我有这么一个数据:
<p class="L_n"><span t="1" u="1111111" n="张三" e="1111111"> 张三</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> -->

想用正则表达式进行筛选 最后输出结果是 一年级一班 张三 男
请教应该怎么写代码呢?
...全文
84 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xlk1208 2012-04-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

引用楼主 的回复:
我有这么一个数据:
<p class="L_n"><span t="1" u="1111111" n="张三" e="1111111">&amp;nbsp;张三</span></p><p class="L_e"><span t="1" u="1111111" n="张三" e="1111111">男</span></p><p class="L_e L_desc ……
[/Quote]


谢谢 就是我想要的结果 谢谢了
EnForGrass 2012-04-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
我有这么一个数据:
<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=……
[/Quote]
正则
(?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);
}

xlk1208 2012-04-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

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

这个数据是在一个txt文本里存的
xlk1208 2012-04-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

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

请教详细讲解下好吗?
冰洛 2012-04-21
  • 打赏
  • 举报
回复
为什么用正则表达式呢?直接用sax或者dom来进行解析啊,方便快捷!dom在很多语言都有解析器的

111,119

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧