请教正则表达

wangding83 2011-01-05 03:32:12

<p style="MARGIN: 0in 0in 0pt" class="MsoNormal">
<span style="COLOR: #1f497d">
<span style="FONT-FAMILY: Calibri">Hello World</span>
</span>
</p>
或者
<p>Hello World<p>

想用正则表达式,匹配出其中的正文"Hello World"。

请问这个表达式该如何写?
...全文
96 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
julian 2011-01-05
  • 打赏
  • 举报
回复
可以试试
[Quote=引用 2 楼 cj205 的回复:]
额 var str = "html";
str = Regex.Replace("<[^>]+>","");

这个似乎就可以了吧
[/Quote]
wackyboy 2011-01-05
  • 打赏
  • 举报
回复

@"(?<=<p[^>]*>(\s*<[^<>]+>)*)[^<>]+(?=(<[^<>]+>\s*)*</p>)"
porschev 2011-01-05
  • 打赏
  • 举报
回复
去掉HTML标签就是了


/// <summary>
/// 去掉HTML标签
/// </summary>
/// <param name="strHtml"></param>
/// <returns></returns>
public static string stripHtml(string strHtml)
{
Regex objRegExp = new Regex("<(.|\n)+?>");
string strOutput = objRegExp.Replace(strHtml, "");
strOutput = strOutput.Replace("<", "");
strOutput = strOutput.Replace(">", "");
return strOutput;
}
Mr-Jee 2011-01-05
  • 打赏
  • 举报
回复
二楼可以满足楼主的需求
但是我想楼主更想看到匹配而非替换
所以4楼备份
Mr-Jee 2011-01-05
  • 打赏
  • 举报
回复
string temp = @"<p style=""MARGIN: 0in 0in 0pt"" class=""MsoNormal"">
<span style=""COLOR: #1f497d"">
<span style=""FONT-FAMILY: Calibri"">Hello World</span>
</span>
</p>";
Console.WriteLine(Regex.Match(temp, @"(?is)(?<=<p.*?>)(?!\s*<)[^<]+").Value);
q107770540 2011-01-05
  • 打赏
  • 举报
回复
(?is)<span[^>]+>([^<]+)</span>
(?is)<p>([^<]+)<p>

取group[1].value
Mr-Jee 2011-01-05
  • 打赏
  • 举报
回复
额 var str = "html";
str = Regex.Replace("<[^>]+>","");

这个似乎就可以了吧
风之子1 2011-01-05
  • 打赏
  • 举报
回复
等待高人求解!

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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