Javascript正则表达式中的非传统或匹配?

时间:2013-10-18 16:38:08

标签: javascript regex

如果我错了,请纠正我,但我相信正则表达式({|})传统上匹配{或}。但是,当我有一个这样的字符串:“{hello i is a string}”并且我称之为函数:

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

只有{被替换,留下尾随}。是什么赋予了?

1 个答案:

答案 0 :(得分:2)

我相信如果第一个参数是regexp对象,则忽略非标准flags参数。根据{{​​3}}:

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"