2

間違っている場合は訂正してください。ただし、正規表現 ({|}) は伝統的に { または } のいずれかに一致すると思います。しかし、次のような文字列がある場合: "{hello i'm a string}" この関数を呼び出します。

var album = $(song).data('album').replace(/({|})/, '', 'g');

{ のみが置き換えられ、末尾の } は残ります。何を与える?

4

1 に答える 1

2

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"
于 2013-10-18T17:02:39.427 に答える