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 回答