"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 du HTML avec JavaScript Regex ?

Comment extraire du texte multiligne du HTML avec JavaScript Regex ?

Publié le 2024-11-08
Parcourir:855

How to Extract Multi-Line Text from HTML with JavaScript Regex?

Extraction de texte multiligne à partir de HTML avec JavaScript Regex

Lorsque vous essayez de récupérer des chaînes à partir de HTML à l'aide d'une expression régulière en JavaScript, il est crucial considérer la compatibilité des modificateurs. Dans votre scénario, vous rencontrez des problèmes avec l'indicateur multiligne (/m).

Le modificateur Dotall et JavaScript

Le problème vient du fait que JavaScript ne prend en charge intrinsèquement le modificateur /.../s, également connu sous le nom de modificateur "dotall". Ce modificateur force le caractère point (.) à correspondre aux nouvelles lignes, ce qui n'est généralement pas le cas.

Créer une solution de contournement : classe de caractères

Pour contourner l'absence /s modificateur en JavaScript, vous pouvez utiliser une classe de caractères () avec sa négation (\S). Cette approche correspond efficacement à n'importe quel caractère, y compris les nouvelles lignes.

Syntaxe Regex mise à jour

Dans cet esprit, votre regex doit être modifiée comme suit :

/<div>

Prise en charge d'ES6

Il convient de noter qu'à partir d'ES2018, JavaScript prend en charge l'indicateur "/s" (dotAll). Cela signifie que dans des environnements plus modernes, vous pouvez utiliser votre syntaxe regex d'origine avec l'indicateur "/s" au lieu de l'indicateur "/m" :

/<div>
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