C#.NET用正则表达式提取<span style="font-size: 14.0pt;font-family: 宋体;">泥料:原矿清水泥</span>中值 5

比较急,请高手指教。。。... 比较急,请高手指教。。。 展开
 我来答
百度网友1950a79df
2012-04-20 · TA获得超过933个赞
知道小有建树答主
回答量:312
采纳率:0%
帮助的人:361万
展开全部
如果是我,不会用正则表达式来做这件事。分析DOM对象结构或者做XSL样式替换会简单得多。

正则表达式是验证一个字符串是否拥有某种特定的样式 (Pattern),比如电子邮件地址,都会有@,@后面都是xx.xxx或xx.xxx.xxx之类,使用正则表达式可以灵活又精确地描述这种pattern。比如对电子邮件地址,可以描述成:^([\w-]+\.)*?[\w-]+@[\w-]+\.([\w-]+\.)*?[\w]+$,等等。

它不是用来抽取字符串的,虽然验证样式往往是替换或抽取字符串的前一步。

如果你一定要使用正则表达式,无非就是用
<span style="font-size:\s14\.0pt;font-family:宋体;">(.*?)</span>找到这个tag,然后再用字符串处理剥出中间的文字。
如果style里面的内容不是固定的,可以这样查找任意样式的<span>标记
<\s*span[^>]*>(.*?)<\s*/\s*span>

另外,注意汉字需要用4位 unicode 16进制代码替换,格式如:\u0020。
百度网友62003a7
2012-04-21 · 超过17用户采纳过TA的回答
知道答主
回答量:49
采纳率:0%
帮助的人:45.1万
展开全部
出现乱码了,不知道你是什么意思,如果你是想从html文本中提取出纯文本的话,给你个方法你调用一下:

public string NoHTML(string Htmlstring)
{
//删除脚本
Htmlstring = Htmlstring.Replace("\r\n", "");
Htmlstring = Regex.Replace(Htmlstring, @"<script.*?</script>", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"<style.*?</style>", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"<.*?>", "", RegexOptions.IgnoreCase);
//删除HTML
Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"([\r\n])[\s]+", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"<!--.*", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(quot|#34);", "\"", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(amp|#38);", "&", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(lt|#60);", "<", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(gt|#62);", ">", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp|#160);", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(iexcl|#161);", "\xa1", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(cent|#162);", "\xa2", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(pound|#163);", "\xa3", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(copy|#169);", "\xa9", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&#(\d+);", "", RegexOptions.IgnoreCase);
Htmlstring = Htmlstring.Replace("<", "");
Htmlstring = Htmlstring.Replace(">", "");
Htmlstring = Htmlstring.Replace("\r\n", "");
//Htmlstring = HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim();
return Htmlstring;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
洸煇遂越
2012-04-24 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:142
采纳率:0%
帮助的人:94.4万
展开全部
提取'/span>' ? 那正则就直接是/pan>就好了 . 用的时候直接 Regex.Match(字符串, 正则表达式).Groups[0].Value 就可以提取了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式