C#当中如何使用正则表达式获取某一标签的所有属性 属性数量不确定

如题所述

第1个回答  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);
}
第2个回答  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);
}本回答被网友采纳
第3个回答  2013-10-22
<a\s+(?<这就是关于a标签的属性>[\s\S]*?)[^>]>
不知道你具体的使用情况。

C#怎么用正则表达式提取链接和图片标签的属性
)"".*?\/>"); Match matchResult = regexObj.Match(subjectString); while (matchResult.Success) { resultList.Add(matchResult.Groups[1].Value); matchResult = matchResult.NextMatch(); } } catch (ArgumentException ex) { \/\/ Syntax error in the regular expression} ...

C# 正则表达式 匹配 HTML 中所有的标签及其属性???急急急
\/\/正则表达式 string pattern = @"<[^\\s]+[^>]*[^=]+=[\\"\\']?(([^:]+):([^:]*))*[\\"\\']?[^>]*>"; \/\/使用RegexOptions.IgnoreCase枚举值表示不区分大小写 Regex r = new Regex(pattern, RegexOptions.IgnoreCase); \/\/使用正则表达式匹配字符串,仅返回一次匹配结果 ...

c# 如何循环提取这类内容中指定部分?
可以使用正则表达式:给你一个例子:StringCollection resultList = new StringCollection();try { Regex regexObj = new Regex("(?<==\\")[^\\"]+(?=\\")");Match matchResult = regexObj.Match(subjectString);while (matchResult.Success) { resultList.Add(matchResult.Value);matchResult = matc...

关于C#正则表达式截取代码的问题,网页中有很多 xxxxxxxxx 2012-9-25...
为什么要用正则表达式呢?js不是简单的多嘛。.innerHTML这个属性便能得到一对标签中所有的内容。

C# 正则表达式 我如何获取这个div下面的所有的的内容?
默认情况下,点是不匹配换行的,可以这样写 string sPattern=@"[\\s\\S]*?";第二个要将方括号换成圆括号 string sPattern=@"(.|\\s)*?";

C#如何获取指定Url下特定标签的内容?
可以使用正则表达式,提取出来。代码如下:using System;using System.Text.RegularExpressions;namespace WebClientDemo{class Program{static void Main(string[] args){string s = @"123456789";var matches = Regex.Matches(s, "(.+?)");foreach (Match match in matches){Console.WriteLine(match....

C#正则表达式的运用问题,判断输入的字符串是否符合标准。
\/\/循环遍历子节点 foreach (TbBom subBom in subList) { \/\/查询出 子节点,和 当前父节点下 子节点的数量汇总 var sbom = new { b = subBom, c = subListClone.Where(p => p.PartNo == subBom.PartNo).Select(p => p.Qty).Sum() };...

C# 怎么截取到多个标签中特定的一个(特定的中包含特定的字符串,通过...
可以用正则表达式实现(自己娘度正则表达式)如果觉得正则不好掌握 ,可以先查找 然后把后面的字符串存入另一个变量,在这个变量中查找<\/il> 截取这之前的部分就是特定字符串了

C# 求个正则表达式 过滤文章img中src除外意外的所有属性
按照你的要求写的C#正则表达式 (?is)() 替换为 $1$2$3 完整的C#过滤文章img中除src以外所有属性的程序如下 using System;using System.Text.RegularExpressions;namespace retainsrc{ class RetainSRC{ static void Main(string[] args){ string str=""; string pattern = "(?is)(...

C#中的catch如何获取哪个文本框的值输入错误?
这个一般的思路是在提交数据库之前就去检查2个值是否规范,可以用正则表达式,也可以按照字符串一个一个的判断。要按照你的想法,你可以去查询下更准确的错误,不要笼统的用exception,另外可以自己写抛出的异常。

相似回答