1

私はいくつかの HTML を解析していますが、body タグですべての html を取得する必要があります。私のターゲット文字列は常に次のようになります。

<body><div><img src="" />text etc</div></body>

ただし、次のものが必要です。

<div><img src="" />text etc</div>

私のターゲット文字列は、常にこれらの body タグで始まり、終わります。ただし、HTML の解析に Regex を使用しないという警告が繰り返し表示されますが、現時点では Regex 以外に実行可能な解決策はありません。

質問:この場合に使用できる安全な正規表現はありますか? それとも私はそれを忘れるべきですか?

4

2 に答える 2

3

正規表現が何であるかは示していませんが、次のように単純な場合、DOM 解析を使用するほど安全ではありません。

<body>(.*?)</body>

</body>...属性文字列またはコメントに含まれている可能性があるためです。そのリスクを負う覚悟があれば大丈夫です。ただし、DOM 解析を使用して本文のテキストを取得することができないという理由はありませんが、効率が低下する可能性があります。

<body>正規表現をスキップして、との文字列インデックスを見つけて、</body>それらの間の部分文字列を取得することもできます。それはさらに速いはずです。

ところで、これはHTML の解析ではありません。HTMLから抽出しているだけです

于 2013-05-18T23:52:27.337 に答える