"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 convertir des chaînes de saisie utilisateur en expressions régulières en JavaScript ?

Comment convertir des chaînes de saisie utilisateur en expressions régulières en JavaScript ?

Publié le 2024-11-12
Parcourir:592

How to Convert User Input Strings to Regular Expressions in JavaScript?

Conversion de la chaîne d'entrée utilisateur en expression régulière en JavaScript

Dans la conception d'un testeur d'expression régulière, la chaîne d'entrée de l'utilisateur doit être convertie en une expression régulière. Cependant, si nous spécifions que l'utilisateur n'a pas besoin d'inclure des // autour de l'entrée, il ne pourra pas définir d'indicateurs comme g et i.

Pour résoudre ce problème, nous pouvons utiliser le constructeur d'objet RegExp pour transformer la chaîne d'entrée de l'utilisateur en expression régulière. Voici comment cela fonctionne :

var re = new RegExp("a|b", "i");

Cette méthode obtient le même résultat que :

var re = /a|b/i;

Dans les exemples ci-dessus, le premier argument du constructeur est le modèle d'expression régulière et le deuxième argument est les indicateurs (facultatif). Dans ce cas, nous spécifions l'indicateur 'i', ce qui rend le modèle insensible à la casse.

En utilisant le constructeur d'objet RegExp, nous pouvons accepter les entrées de l'utilisateur avec des // et des indicateurs tout en garantissant la conversion. à une expression régulière. Cela permet aux utilisateurs d'utiliser toutes les capacités des expressions régulières, y compris la configuration des indicateurs, tout en conservant la convivialité.

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