Maison >interface Web >js tutoriel >Comment capturer du texte multiligne dans des balises HTML à l'aide de JavaScript Regex ?

Comment capturer du texte multiligne dans des balises HTML à l'aide de JavaScript Regex ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-09 22:07:02547parcourir

How to Capture Multiline Text Within HTML Tags using JavaScript Regex?

JavaScript Regex : extraction de texte multiligne entre balises

Dans ce scénario, vous souhaitez récupérer le texte dans un fichier HTML

balise en utilisant un modèle d’expression régulière. Cependant, vous rencontrez des problèmes avec le texte multiligne, en particulier lorsque le texte contient des nouvelles lignes ("n").

Le modèle que vous avez fourni est :

/<div>

Mais il ne parvient pas à capturer correctement le texte multiligne. .

Solution

Le problème réside dans le comportement par défaut du métacaractère point (.) en JavaScript. Par défaut, . ne correspond pas aux nouvelles lignes. Pour résoudre ce problème, vous pouvez utiliser le modificateur /s (dotAll), qui active . pour correspondre également aux nouvelles lignes.

Cependant, JavaScript ne prenait pas en charge le modificateur /s dans les anciennes versions. Au lieu de cela, vous pouvez utiliser la solution de contournement suivante :

/<div>

où :

  • [sS]* correspond à n'importe quel caractère, y compris les nouvelles lignes (n)

Depuis ES2018, JavaScript a introduit l'indicateur /s (dotAll). Vous pouvez désormais utiliser ce drapeau directement, en simplifiant le modèle comme suit :

/<div>

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