c# 通过正则表达式提取html里的内容

div class='1'>
<h2>啦啦啦</h2>
<ul>
<li><a href="http://" target="_blank">问题</a>
类似如此的内容, 我想提取<h2>的内容以及href的内容。
href的内容我是这么提取的 Regex reg = new Regex(@"(?is)<a[^>]*?href=([‘""]?)(?<url>[^‘""\s>]+)\1[^>]*>(?<text>(?:(?!</?a\b).)*)</a>");
就是还想加上h2的。
求大神帮忙,万分感谢

var html = @"div class='1'>
    <h2>啦啦啦</h2>
    <ul>
    <li><a href=""http://"" target=""_blank"">问题</a>";

var pattern = @"<h2>(?<title>.*?)</h2>.*(\r\n.*)*<a\shref=""(?<url>.*?)""";
var match = System.Text.RegularExpressions.Regex.Match(html, pattern);
if (match.Success)
{
    var title = match.Groups["title"].Value;
    var url = match.Groups["url"].Value;
}

温馨提示:内容为网友见解,仅供参考
无其他回答

C# 正则表达式提取html中的文本
static void Main(string[] args){ String s = @"<Body> <div>这里是要取出的文本A <img src=""\/>这里是要取出的文本B <a href="">超链接里的文本不取出 <\/a>这里是要取出的文本C <\/div> <body>";Regex regex = new Regex( "(\/?\\\\w+)[^>]*>([^<]*)<", RegexOptions.Ign...

c#正则提取html源码内的信息
第一种,修改你的,因为<\/strong>后有回车换行空格等空白字符,需要\\s 正则表达式:<strong>中文名:<\/strong>\\s*<span>([\\S\\s]*?)<\/span> 第二种,直接匹配出名字 正则表达式:(?<=中文名:<\/strong>\\s*<span>)[^<]+

c# 利用正则表达式 提取html中数据
Macth m = Regex.Match(html, "<strong style=\\"font-size: 14px\\">(?<CompanyName>.*?)<\/strong>", ...);if (m.Success){ string companyName = m.Group["CompanyName"].Value;}

C#正则表达式获取html代码
string str = @"nickName: 'qq',userId: '123123',shopId: '456456',siteId: '11',siteCategoryId: '22',itemId: '',shopStats: '',validatorUrl: 'http:\/\/iu.duoduo.com\/tgus.htm',templateId: '56366',";str = str.Replace(" ", "");MatchCollection mc = Regex.Matches(str,"...

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

C# 通过正则表达式进行html过滤 只留文字,图片,<p>,<br>
请参照以下代码:public static string FilterHtmlTag(string s){ \/\/<...>标记正则表达式 return Regex.Replace(s, @"<[^>]*>", delegate(Match match){ string v = match.ToString();\/\/图片,<p>,<br>正则表达式 Regex rx = new Regex(@"^<(p|br|img.*)>$",RegexOptions.Compiled |...

用C#编程采用正则表达式提取html中table的数据项
(?<=\\>)[\一-\龥 A-Z0-9:]+(?=\\<)这个还获取了空格,你下面的程序排除就行了

c# 正则截取内容的问题
你这个简单,就是将要提取的内容前后加上那个特定的限定词或字母,然后再将前后的特定字或字母去掉就行了。例如你说的,“<hr ...xx>内容一<hr ...> ”,要提取“内容一”,则可以用“@xx>.*<hr” ,再将“xx>”和“<hr”去掉就行了;提取标题二等等也是一样的原理 ...

C# 正则表达式 获取div里的内容 div内可能嵌套任何html标签
只是用正则的话,又没有任何特殊的特征,很难做的。换一种思路:这个字符串可以看成是xml,那你可以用xmldocumen 加载该字符串,然后通过解析xml来获取里面的字符串。(ps:这个思路够屌吧)

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

相似回答