C#当中如何使用正则表达式获取某一标签的所有属性 属性数量不确定
3个回答
2013-10-22
展开全部
string test = "<a id=\"test\" href=\"1.html\" style=\"color:#333;\">test</a>";
string pattern = @"\s*=";//匹配等于号
Regex regex = new Regex(pattern, RegexOptions.IgnoreCase);//不区分大小写
MatchCollection matchs = regex.Matches(test);
//循环所有匹配项
foreach (Match match in matchs)
{
string t = test.Substring(0, match.Index);//截取每个等于号前的字符串
string p = @"(\w+)$";//匹配等于号前的单词,等于号前的内容就是属性
Regex r = new Regex(p, RegexOptions.IgnoreCase);
Match m = r.Match(t);
Console.WriteLine(m.Value);
}
string pattern = @"\s*=";//匹配等于号
Regex regex = new Regex(pattern, RegexOptions.IgnoreCase);//不区分大小写
MatchCollection matchs = regex.Matches(test);
//循环所有匹配项
foreach (Match match in matchs)
{
string t = test.Substring(0, match.Index);//截取每个等于号前的字符串
string p = @"(\w+)$";//匹配等于号前的单词,等于号前的内容就是属性
Regex r = new Regex(p, RegexOptions.IgnoreCase);
Match m = r.Match(t);
Console.WriteLine(m.Value);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-10-22
展开全部
如果你用LINQ-TO-XML非常方便:比如假设存在一个MyLabel的标签,里边有若干属性…… string s = "<MyLabel name='MyLabel' Text='MyText' attr1='1'/>"; var result = from e in XDocument.Parse(s).Element("MyLabel").Attributes()
select e; foreach (var item in result)
{
Console.WriteLine(item.Name+"<===>"+item.Value);
}
select e; foreach (var item in result)
{
Console.WriteLine(item.Name+"<===>"+item.Value);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-10-22
展开全部
<a\s+(?<这就是关于a标签的属性>[\s\S]*?)[^>]>
不知道你具体的使用情况。
不知道你具体的使用情况。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询