Lors de la conception d'un testeur d'expression régulière, obtenir la saisie de l'utilisateur et la transformer en une expression régulière valide peut être un défi. Si les utilisateurs ne sont pas obligés de placer leur entrée entre des délimiteurs //, ils ne pourront pas spécifier des indicateurs tels que g et i. Cependant, inclure // autour de l'expression crée un obstacle différent : convertir la chaîne en une expression régulière.
Solution utilisant le constructeur RegExp :
La solution réside dans l'utilisation le constructeur d'objet RegExp. En passant à la fois la chaîne d'expression régulière et les indicateurs souhaités, vous pouvez créer directement une expression régulière :
<code class="javascript">var re = new RegExp("a|b", "i");</code>
C'est l'équivalent de la notation abrégée :
<code class="javascript">var re = /a|b/i;</code>
Cette approche vous permet pour accepter l'entrée de l'utilisateur sous forme de chaîne, l'extraire dans une variable et l'utiliser pour construire l'expression régulière à l'aide des indicateurs appropriés. Vous n'avez pas besoin d'analyser la chaîne ou les indicateurs, et vous pouvez conserver la flexibilité du constructeur RegExp.
Exemple d'implémentation :
Dans votre code HTML, vous pouvez demander à l'utilisateur l'expression régulière (y compris les délimiteurs //) et la stocker dans une variable :
<code class="html"><input type="text" id="regex"></code>
Dans votre code JavaScript, en cliquant sur un bouton :
<code class="javascript">var regexInput = document.getElementById('regex').value; var re = new RegExp(regexInput); // Use the re variable for your regular expression operations</code>
Ce code acceptera l'entrée de l'utilisateur, y compris les délimiteurs //, et la convertira en une expression régulière en utilisant la syntaxe fournie.
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!