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