如果我错了,请纠正我,但我相信正则表达式 ({|}) 传统上会匹配 { 或 }。但是当我有一个这样的字符串时:“{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"