1. ホーム
  2. javascript

[解決済み] ユーザー入力文字列を正規表現に変換する

2022-03-24 09:37:09

質問

HTMLとJavaScriptで正規表現のテスターを設計しています。ユーザーは正規表現、文字列を入力し、ラジオボタンでテストしたい関数(検索、一致、置換など)を選択し、その関数が指定された引数で実行されたときの結果を表示するプログラムです。当然ながら、置換などの追加引数のためのテキストボックスも用意されます。

私の問題は、ユーザーから文字列を受け取り、それを正規表現にすることです。もし、私が、彼らには // のようなフラグを設定することができません。 gi . そのため、それらは // しかし、この文字列を正規表現に変換するにはどうしたらよいのでしょうか?文字列なのでリテラルにすることはできませんし、RegExp コンストラクタに渡すこともできません。 // 's. ユーザが入力した文字列を正規表現にする他の方法はないのでしょうか?文字列を解析して、正規表現のフラグを // を使用し、別の方法で構築するのでしょうか?文字列を入力させ、フラグを別に入力させるべきでしょうか?

どのように解決するのですか?

を使用します。 RegExp オブジェクトのコンストラクタ を使って、文字列から正規表現を作成します。

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