JavaScript の 2 つのタグ間の複数行テキストを抽出するための正規表現
正規表現パターンを使用して HTML 文字列からテキストを抽出する際に課題に直面しています。具体的には、HTML に改行がある場合、複数行フラグ (/m) が機能しないようです。
この問題に対処するには、「/.../s」修飾子を利用する必要があります。一般に「dotall」修飾子と呼ばれます。ただし、この修飾子はバニラ JavaScript には存在しないことに注意することが重要です。
Dotall 修飾子を使用しない回避策:
/s フラグを使用できない場合現在の JavaScript 環境では、空白と空白以外の両方を含む文字クラスを使用する回避策を検討してください。文字:
[\s\S]
あなたの場合、正規表現は次のようになります:
/<div>
最新の JavaScript: Dotall 修飾子のサポート
ES2018 をサポートする最新の JavaScript 環境では、 「/s」(dotAll) フラグ。このフラグにより、正規表現内のドット (.) 文字も改行文字と一致します。
したがって、元の正規表現は /s フラグを使用して書き換えることができます:
/<div>
dotall 修飾子 (/s) またはその回避策 ([\s\S]) を使用すると、正規表現パターンが複数行のテキストと確実に一致するようにできます。テキスト内に改行がある場合でも、指定した HTML タグの間。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3