2015-03-31 69 views
0

我试图找到并用我自己的单词替换“[num]”,但这不起作用。如果我删除“[”和“]”,它就会起作用。查找并替换字 - 不区分大小写

response = response.replace(/[num]/i, 'my text'); 
+0

您是否碰巧在需要替换的文本中有多个num-s?因为没有g标志,它只会得到第一个发生 – 2015-03-31 06:50:39

回答

1

试试这个:

response = response.replace(/\[num\]/i, 'my text'); 

JSFIDDLE DEMO

在一个边注:

如果你想更换一个括号内的文字,那么你可以使用这个表达式:

/\[[^\]]+\]/g 
2

你需要转义为[]在正则表达式来指定一个character set

response = response.replace(/\[num\]/i, 'my text'); 
0

的方括号表示[]字符类。

regular-expressions.info

随着“字符类”,也称为“字符集”,你可以告诉 正则表达式引擎只有一个的几个字符匹配。只需要 放置您想要匹配方括号之间的字符。如果 想匹配a或e,请使用[ae]。你可以使用这个来匹配灰色或灰色的 。

因此,您的代码中的regex.replace将取代“n或u或m”与“我的文本”的任何发生。

0

如果它正在工作,为什么你不去除“[”和“]”,你能提供这样我可以弄清楚你真的想在那里做什么?