之间的内容", "upDate": "2021-05-28T16:30:22+08:00" }

如何用正则表达式取出与之间的内容

daisi 2009-11-19 05:24:06
我用

String str = "";
str += "<BODY>";
str += " <table width=\"600\" border=\"0\">";
str += " <tr>";
str += " <td>this is test 1</td>";
str += " <td>this is test 2</td>";
str += " </tr>";
str += " </table>";

str += "</BODY>";

Regex reg = new Regex("(?<=<(BODY)\\s*[^>]*>).*(?=</\\1\\s*>)", RegexOptions.Multiline & RegexOptions.IgnoreCase);

只能取出html中没有换行的字符串,如果文中有<p> </p>之类的就取不出来了
比如:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=unicode" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18812"></HEAD>
<BODY>
<P>adgggggggggggggggggggggggggggg</P>
<P> </P>
<P>agaggag</P></BODY></HTML>

这种就取不出其中的内容了,请各位知道的帮忙一下,感激不尽!
...全文
450 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
daisi 2009-11-19
  • 打赏
  • 举报
回复
感谢各位
qlzf11140820 2009-11-19
  • 打赏
  • 举报
回复
string html = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"> <HTML> <HEAD> <META content=\"text/html; charset=unicode\" http-equiv=Content-Type> <META name=GENERATOR content=\"MSHTML 8.00.6001.18812\"> </HEAD> <BODY> <P>adgggggggggggggggggggggggggggg </P> <P>  </P> <P>agaggag </P> </BODY> </HTML>";
string itemhtml = System.Text.RegularExpressions.Regex.Replace(html, "<[^>]+>", "");
itemhtml = System.Text.RegularExpressions.Regex.Replace(itemhtml, "&[^;]+;", "");;
MessageBox.Show(itemhtml);
mbh0210 2009-11-19
  • 打赏
  • 举报
回复

(?i)(?<=<body>)[\s|\S]*?(?=</body>)
jiangshun 2009-11-19
  • 打赏
  • 举报
回复
"(?is)(?<=<body>).*(?=</body>)"
jiangshun 2009-11-19
  • 打赏
  • 举报
回复
(?is)(?<=<body>).*(?=</body>)

110,571

社区成员

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

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

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