2013-05-10 80 views

回答

12

您需要转义+,因为它是正则表达式中的一个特殊字符,意思是“以前的一个或多个字符”。 /+/中没有以前的字符,所以正则表达式不能编译。

soql = soql.replace(/\+/g, " "); 
//or 
soql = soql.replace(/[+]/g, " "); 
+0

使用'/ \ ++/g'应该有助于提高性能 – Ian 2013-05-10 15:37:17

5

尝试逸出+

soql = soql.replace(/\+/g, " "); 

在正则表达式的+实际上意味着 “一个或多个前面的表达式(或组)的”。转义它告诉你想要一个文字加号(“+”)。

更多information on quantifiers可用,如果你谷歌它。您可能还想查看Mastering Regular Expressions书。

相关问题