正規表現に一致し、受け入れられる値のセットに含まれる文字列内のコンテンツの周りに css でスタイルを設定するクラスを持つスパン タグを追加したいと考えています。
たとえば、正規表現に変換し/fo./
たい場合barfoobarfoafoc
bar<span class = "stylename">foo</span>bar<span class = "stylename">foa</span>foc
foo と foa の両方が受け入れられる文字列のセットに含まれるが、foc は含まれない場合。
String.replace() をいじってみましたが、一致したコンテンツを検証関数に入れる方法が見つかりません。
output = output.replace(/fo./g,isAcceptedValue("$&"));
しかし、replace に渡されるパラメーターは、一致した文字列ではなく、単に "$&" です。これはおそらく驚くべきことではありませんでした。置換機能を使用してこれを行う方法はありますか? それとも、各正規表現の戻り値を手動で取得し、一致の最初から部分文字列を置き換える必要がありますか? 置換中にこれを行う方法があることを期待していたので、コードが何をしているのかが明確になり、部分文字列の計算に対処する必要がなくなりました。