En JavaScript, l'utilisation d'une variable dans le cadre d'une expression régulière peut être obtenue en créant un nouvel objet RegExp avec la variable intégrée dans le modèle.
Considérons l'exemple suivant :
function(input) { var testVar = input; string = ... }
Pour inclure testVar dans l'expression régulière, un nouvel objet RegExp doit être créé :
const regex = new RegExp(`ReGeX${testVar}ReGeX`); ... string.replace(regex, "replacement");
Cela crée un objet d'expression régulière avec la valeur de la variable incorporée dans le modèle.
Remarque : Si la variable contient une entrée utilisateur ou peut potentiellement contenir du contenu malveillant, il est essentiel d'échapper à la variable à l'aide de escape() pour éviter les vulnérabilités de sécurité.
Mise à jour (2019) :
Le développement JavaScript moderne utilise souvent des littéraux de modèles pour l'interpolation de chaînes. Voici une version mise à jour de l'exemple utilisant des littéraux de modèle :
function(input) { var testVar = input; string = ... } ... string.replace(/ReGeX${testVar}ReGeX/, "replacement");
Cette méthode exploite les littéraux de modèle pour construire dynamiquement le modèle d'expression régulière, obtenant ainsi efficacement le résultat souhaité.
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!