C#,请问如何写这个正则表达式

庄生晓 2009-12-16 03:53:25
比如说有一个字符串string s = "<span id='spanTest'>This is a <br /> sample!</span>";
请问用正则表达式如何提取出span标签中间的值,即“This is a <br /> sample!”,值是变化的,而且可能含有多个HTML标签。不是网页,不能使用innerHTML等属性。
...全文
77 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
-过客- 2009-12-16
  • 打赏
  • 举报
回复
到我的博客去看吧
庄生晓 2009-12-16
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 lxcnn 的回复:]
引用 7 楼 zi__qi 的回复:
6楼的有道理,如果span里面再嵌套span,就很复杂了。还没想到解决方法。


不是没有解决办法,是你自己对需求不也是很清楚

嵌套在.NET中用平衡组就可以解决了
[/Quote]
平衡组的用法可否赐教?
-过客- 2009-12-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zi__qi 的回复:]
6楼的有道理,如果span里面再嵌套span,就很复杂了。还没想到解决方法。
[/Quote]

不是没有解决办法,是你自己对需求不也是很清楚

嵌套在.NET中用平衡组就可以解决了
庄生晓 2009-12-16
  • 打赏
  • 举报
回复
二楼的正则表达式好些,必须使用非贪婪的模式。谢谢了!
庄生晓 2009-12-16
  • 打赏
  • 举报
回复
6楼的有道理,如果span里面再嵌套span,就很复杂了。还没想到解决方法。
-过客- 2009-12-16
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zi__qi 的回复:]
可能有 <span>.
[/Quote]

那怎么知道你要取的是哪个span?
庄生晓 2009-12-16
  • 打赏
  • 举报
回复
可能有<span>.
wackyboy 2009-12-16
  • 打赏
  • 举报
回复
你那个<span 中是否还有<span?
庄生晓 2009-12-16
  • 打赏
  • 举报
回复
楼上的高手,强,只是这个(?i)可以不用,看来我还得深入学习有关?的部分啦。
liherun 2009-12-16
  • 打赏
  • 举报
回复
string s = " <span id='spanTest'>This is a <br /> sample! </span>";
Regex reg = new Regex(@"(?<=<span[^<]*>).*(?=</span>)");
MessageBox.Show(reg.Match(s).Value);
jiangshun 2009-12-16
  • 打赏
  • 举报
回复
            string strContent = @"<span id='spanTest'>This is a <br /> sample! </span>";

Regex reg = new Regex(@"(?i)(?<=<span[^>]+>).*?(?=</span>)");
Console.WriteLine("/*\n------输出结果------------");

MatchCollection mc = reg.Matches(strContent);
foreach (Match m in mc)
{
Console.WriteLine(m.Groups[0].ToString());
}
/*
------输出结果------------
This is a <br /> sample!
*/

110,571

社区成员

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

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

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