Maison >interface Web >js tutoriel >Comment extraire du texte multiligne entre des balises en JavaScript avec Regex ?

Comment extraire du texte multiligne entre des balises en JavaScript avec Regex ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-15 19:02:02221parcourir

How to Extract Multiline Text Between Tags in JavaScript with Regex?

Regex pour extraire du texte multiligne entre deux balises en JavaScript

Vous rencontrez des difficultés pour extraire du texte d'une chaîne HTML à l'aide d'un modèle regex . Plus précisément, l'indicateur multiligne (/m) ne semble pas fonctionner lorsqu'il y a des nouvelles lignes dans le HTML.

Pour résoudre ce problème, vous devez utiliser le modificateur "/.../s", communément appelé modificateur « dotall ». Cependant, il est important de noter que ce modificateur n'existe pas dans le JavaScript Vanilla.

Solutions de contournement sans le modificateur Dotall :

Si vous ne pouvez pas utiliser l'indicateur /s dans votre environnement JavaScript actuel, envisagez une solution de contournement en utilisant une classe de caractères qui inclut à la fois des caractères d'espacement et des caractères autres que des espaces :

[\s\S]

Dans votre cas, le regex ressemblerait à ceci :

/<div>

JavaScript moderne : prise en charge du modificateur Dotall

Dans les environnements JavaScript modernes prenant en charge ES2018, vous pouvez utiliser directement le "/s" (dotAll) drapeau. Cet indicateur fait en sorte que le caractère point (.) dans l'expression régulière corresponde également aux caractères de nouvelle ligne.

Par conséquent, votre expression régulière originale pourrait être réécrite à l'aide de l'indicateur /s :

/<div>

En utilisant le dotall modificateur (/s) ou sa solution de contournement ([sS]), vous pouvez vous assurer que votre modèle d'expression régulière correspond avec succès au texte multiligne entre les balises HTML spécifiées, même lorsqu'il y a des nouvelles lignes à l'intérieur de celle-ci. texte.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn