Maison  >  Article  >  interface Web  >  Comment extraire du texte multiligne du HTML avec JavaScript Regex ?

Comment extraire du texte multiligne du HTML avec JavaScript Regex ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-08 22:51:02699parcourir

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 fonctionne pas 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éation d'une solution de contournement : classe de caractères

Pour contourner l'absence du /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>

Support ES6

Il convient de noter qu'à partir de 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>

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