【急】求C#正则表达式取html元素的某些数据,在线等

<HTML><HEAD><TITLE>McsReport.CAB</TITLE></HEAD><BODY><!--<OBJECTCLASSID="clsid:5220cb... <HTML>
<HEAD>
<TITLE>McsReport.CAB</TITLE>
</HEAD>
<BODY>

<!--<OBJECT CLASSID="clsid:5220cb21-c88d-11cf-b347-00aa00a28331">
<PARAM NAME="LPKPath" VALUE="LPKfilename.LPK">
</OBJECT>-->

<OBJECT ID="McsRpt"

CLASSID="CLSID:6BF283CB-2FF1-4CA6-A48E-1397B61058B6"
CODEBASE="McsReport.CAB#version=2,0,0,1">
</OBJECT>
</BODY>
</HTML>
上述是一个模板,
用正则匹配<OBJECT ></OBJECT >,用数组或者list返回满足的数据
要求:(1)匹配的时候,部分大小写... (2)页面已经被注释的<OBJECT>标签不要匹配进来

如上述的html返回的数据arry[0]="
<OBJECT ID="McsRpt"

CLASSID="CLSID:6BF283CB-2FF1-4CA6-A48E-1397B61058B6"
CODEBASE="McsReport.CAB#version=2,0,0,1">
</OBJECT>
"
不分大小写 就是有时候 标签是<Object></object>之类的,有些人写不规范的就是这样子了
展开
 我来答
二牛资讯
2014-11-20 · TA获得超过736个赞
知道小有建树答主
回答量:631
采纳率:50%
帮助的人:568万
展开全部
/*
*下面这段代码能够满足你的需求:
*关键位置有注释
*/

List<string> result = new List<string>();
//匹配表达式使用懒惰模式,就能区分出多个匹配项([\\s\\S]+?)
string parttern = "(?<!\\<\\!--)\\<object[\\s\\S]+?\\</object\\>(?!--\\>)";
//匹配不区分大小写,使用匹配参数RegexOptions.IgnoreCase
Regex reg = new Regex(parttern, RegexOptions.IgnoreCase);
MatchCollection mc = reg.Matches(text);
foreach (Match m in mc)
{
result.Add(m.Value);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wackyer
2014-11-20 · TA获得超过928个赞
知道小有建树答主
回答量:605
采纳率:71%
帮助的人:386万
展开全部
(?<!<!--)<object((?!</object).)*</object>(?!-->)
更多追问追答
追问

为什么会有两项出来呢,还有怎么不区分大小写

追答
(?i)(?<!<!--)<object(?:(?!</object).)*</object>(?!-->)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式