-2

正規表現を使用してネストされたタグで innerhtml を取得する方法

例:

<div class="def">
<ul>
<li>..</li>
<li>..</li>
</ul>
</div>

<div class="def">
<ul>
<li>..</li>
<li>..</li>
</ul>
</div>

このコードを使用するたびに、このコードの最初の div コンテンツのみが必要です "(?s)(<div\\sclass=\"def\">(.+)<\\/div>)" 。両方の div コンテンツを取得します

最初のものだけを手に入れる方法は?

助けてください...

4

1 に答える 1

7

これは、正規表現にあるためです..に変更.+します.+?

ただし、HTML の解析に REGEX を使用しないでください。

HTMLパーサーを使用して、 divを取得する方法は次のとおりです


パーサーを使用する理由

正規表現を検討してください..コードを壊す可能性のあるケースは無限にあります

  • ネストされたdivがある場合、正規表現は機能しません
  • 一部の div には終了タグがありません !(XHTML を除く)

要約すると、htmlの解析に正規表現を使用することは決してありません

于 2013-07-04T04:04:59.627 に答える