Maison >interface Web >js tutoriel >Comment extraire du texte multiligne entre des balises en JavaScript avec Regex ?
Regex pour extraire du texte multiligne entre deux balises en JavaScript
Vous rencontrez des difficultés pour extraire du texte 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 le JavaScript Vanilla.
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 pouvez utiliser directement le "/s" (dotAll) drapeau. 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 dotall modificateur (/s) ou sa solution de contournement ([sS]), 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 lorsqu'il y a des nouvelles lignes à l'intérieur de celle-ci. texte.
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!