"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment extraire du texte multiligne entre des balises en JavaScript avec Regex ?

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

Publié le 2024-11-19
Parcourir:353

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 lors de l'extraction de texte à partir 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 Vanilla JavaScript.

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 peut utiliser directement le drapeau "/s" (dotAll). 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 modificateur dotall (/s) ou sa solution de contournement ([\s\S]), 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 lorsque il y a des nouvelles lignes dans ce texte.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3