正则表达式的问题

zlb21 2009-11-14 09:18:59
<table>
<tr><td><A>ewqeqweqw</a></td></tr>
<tr><td>ewqeqwewq</td></tr>
</table>
我想提取tr之间的数据理想结果是
<td><A>ewqeqweqw</a></td>
<td>ewqeqwewq</td>
哪位高手提供正则表达式?
...全文
60 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2009-11-14
  • 打赏
  • 举报
回复
MatchCollection mc = Regex.Matches(s, @"(?is)<tr[^>]*>(?:(?!</?tr).)*</tr>", RegexOptions.IgnoreCase);
rczjp 2009-11-14
  • 打赏
  • 举报
回复
string s = "<table><tr><td>1111</td></tr><tr><td>2222</td></tr></table>";
MatchCollection mc = Regex.Matches(s, @"(?<=<tr>)[\s\S]*?(?=</tr>)", RegexOptions.IgnoreCase);
foreach (Match m in mc)
{
Console.Write(m.Value);
}
zlb21 2009-11-14
  • 打赏
  • 举报
回复
3楼果然高手
zlb21 2009-11-14
  • 打赏
  • 举报
回复
3楼对的有个?是飞贪婪的匹配结果正确
rczjp 2009-11-14
  • 打赏
  • 举报
回复
匹配table里的 再将tr标签替换掉怎么样呢
zlb21 2009-11-14
  • 打赏
  • 举报
回复
里面<Tr>也在里面只得到一个就匹配了前瞻第一个<tr>和后瞻最后一个</tr>得到中间的结果怎么匹配2个<tr></tr>间的内容呢
zlb21 2009-11-14
  • 打赏
  • 举报
回复
3楼这样只能匹配得到<td> <A>ewqeqweqw </a> </td> </tr>
<tr> <td>ewqeqwewq </td>
wuyq11 2009-11-14
  • 打赏
  • 举报
回复
string s="";
MatchCollection mc = Regex.Matches(s, @"(?<=<tr>)[\s\S]*?(?=</tr>)", RegexOptions.IgnoreCase);
foreach (Match m in mc)
{
Console.Write(m.Value);
}
zlb21 2009-11-14
  • 打赏
  • 举报
回复
高手来啊
zlb21 2009-11-14
  • 打赏
  • 举报
回复
up

111,119

社区成员

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

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

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