RegExp オブジェクトのドキュメントを調べても、必要な処理を行うメソッドが見つからないか、十分に調べていません。
テキストがあるとします:
var text = "§193:And Some Text§";
そして RegExp オブジェクト:
var reg = /§([0-9]+):(.*?)§/;
実行reg.match(text);
すると、明らかに次のような配列が得られます。
["§193:And Some Text§","193","And Some Text"]
このプロセスを逆にする方法はありますか?RegExp と同じ数の一致するグループを含む配列を関数に与えると、テキストがどのように見えるかが返されます。
var reg = /§([0-9]+)§(.*?)§/;
var data = ["293","Some New Text"];
var text = reg.rmatch(data);
そしてtext
今だろう§293:Some New Text§
コードのプラグイン システムを作成しようとしていますが、その一部では、プラグインから正規表現を取得し、データの抽出、データからの元のテキストの再構成など、いくつかのプロセスでそれを使用する必要があります。
今のところ、元のテキストを返す関数をプラグインに提供させる必要があり、それを作成する方法があることを望んでいたので、正規表現を何らかの方法で再利用する必要はありませんでした。カスタム関数を RegExp クラスでプロトタイプ化し、それを使用することができました。これを行うためのプロセスが既にあることを願っていました。