Je conçois un testeur d'expressions régulières en HTML et JavaScript. L'utilisateur entrera une expression rationnelle, une chaîne et choisira la fonction avec laquelle il veut tester (par exemple rechercher, faire correspondre, remplacer, etc.) via le bouton radio et le programme affichera les résultats lorsque cette fonction sera exécutée avec les arguments spécifiés. Naturellement, il y aura des zones de texte supplémentaires pour les arguments supplémentaires à remplacer et autres.
Mon problème est d'obtenir la chaîne de l'utilisateur et de la transformer en une expression régulière. Si je dis qu'ils n'ont pas besoin d'avoir //
autour de l'expression régulière dans laquelle ils entrent, ils ne peuvent pas définir de drapeaux, comme g
et i
. Ils doivent donc avoir le //
's autour de l'expression, mais comment puis-je convertir cette chaîne en expression régulière? Ce ne peut pas être un littéral car c'est une chaîne, et je ne peux pas le passer au constructeur RegExp car ce n'est pas une chaîne sans le //
. Existe-t-il un autre moyen de transformer une chaîne d'entrée utilisateur en expression régulière? Dois-je analyser la chaîne et les drapeaux de l'expression rationnelle avec le //
s, puis le construire d'une autre manière? Dois-je les faire entrer une chaîne, puis entrer les drapeaux séparément?