間違っている場合は訂正してください。ただし、正規表現 ({|}) は伝統的に { または } のいずれかに一致すると思います。しかし、次のような文字列がある場合: "{hello i'm a string}" この関数を呼び出します。
var album = $(song).data('album').replace(/({|})/, '', 'g');
{ のみが置き換えられ、末尾の } は残ります。何を与える?
間違っている場合は訂正してください。ただし、正規表現 ({|}) は伝統的に { または } のいずれかに一致すると思います。しかし、次のような文字列がある場合: "{hello i'm a string}" この関数を呼び出します。
var album = $(song).data('album').replace(/({|})/, '', 'g');
{ のみが置き換えられ、末尾の } は残ります。何を与える?
flags
最初の引数が正規表現オブジェクトの場合、非標準パラメーターは無視されると思います。MDNによると:
To perform a global search and replace, either include the g switch in the
regular expression or if the first parameter is a string, include g in the
flags parameter.
あなたの例では、次のように動作します。
> "{hello}".replace(/({|})/g, '')
> "hello"