正则表达式提取html标记的内部内容

时间:2013-11-28 08:43:19

标签: c# regex

我正在寻找一个提取html标签内容的正则表达式。在这种情况下,我需要提取和解析div元素的内容。 div元素中的HTML代码可以是任何内容,我需要提取所有内容。

我正在使用下一个正则表达式,但在所有情况下都不起作用。

<div\s+id="body"[^>]*>(?<PARAM1>(?:(?:(?!<div[^>]*>|</div>).)+|<div[^>]*>[\s\S]*?</div>)*)</div>

它不起作用,因为提取的组PARAM1在所需的组之前停止在结束div标签元素中,我找不到原因。

HTML看起来像这样:

(...any HTML...)<div id="body">
<div class="container">

    <ul class="breadcrumb">...SOME <li><p>....
    </ul>   

    <h1>...</h1>


    <div class="row">
        <div class="span8">
            <dl class="dl-horizontal">
                <dt>...</dt>
                <dd>..</dd>
                <dt>..</dt>
                <dd>..</dd>             
            </dl>
                <hr/>   
            <dl class="dl-horizontal">
                <dt>..</dt>
                <dd>..</dd>             
            </dl>       

        </div>
        <div class="span4">
            <p class="text-center">
                <img ...>                       
            </p>
        </div> **(STOPS HERE)**
    </div>

       <div> .... ANY HTML </div>

</div> (...more HTML...)

提前致谢,

0 个答案:

没有答案