标签中提取内容 C# RegEx" /> 从 <div class=" "> </div> 标签中提取内容 C# RegEx

标签中提取内容 C# RegEx

2024-03-24

我有一个代码`

string tag = "div";
string pattern = string.Format(@"\<{0}.*?\>(?<tegData>.+?)\<\/{0}\>", tag.Trim());
Regex regex = new Regex(pattern, RegexOptions.ExplicitCapture);
MatchCollection matches = regex.Matches(data);

`

我需要在之间获取内容<div class="in"> .... </div> tags

   <div class="in">
        <a href="/a/show/7184569" class="mm">ВАЗ 2121</a> <span class="for">за</span>    <span class="price">2 700 $</span></span><br/><span class="year">1990 г.</span><br/><div style="margin: 3px 0 3px 0">1.6 л, бензин, КПП механика, с пробегом, белый, литые диски, тонировка, спойлер, ветровики, противотуманки, Движок после капитального ремонта!</div><div>
     <span style="display:block; padding: 4px 0 0 0;"><span class="region">Костанай</span><span class="adv-phones">, +7 (777) 4464451</span></span>

            <small class="gray air">24 просмотра</small>


            <small class="gray air">13 июня</small>
    </div>
    <div class="selectItem" title="Выбрать" id="fv_sic_7184569">
        <a href="#" class="fav-button" id="fav_7184569">&nbsp;</a>           </div>
</div>

我该怎么做? 我的代码不起作用。


这是一个可以提取简单 div 标签的正则表达式:

// <div[^>]*>(.+?)</div>

string tag = "div";
string pattern = string.Format(@"<{0}[^>]*>(?<tegData>.+?)</{0}>", tag.Trim());

然而,使用 RegEx 进行 HTML 解析几乎总是不合适的,而且肯定无法正常工作。这只是因为 HTML 等标记语言不是常规语言。

话虽这么说,您最好使用 XML 解析器来解析文档或片段,然后提取您需要的内容。事实上,使用只进解析器甚至可能比尝试使用 RegEx 更快。

你应该看看.NET 中的 XmlReader 类 http://msdn.microsoft.com/en-us/library/system.xml.xmlreader.aspx.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

标签中提取内容 C# RegEx 的相关文章

随机推荐