3

我正在使用这个工具来构建一个正则表达式http://www.gethifi.com/tools/regex

我发现下面的一个对我有用,例如,如果我想要匹配$aazz[AB]

var regex = /[\+\=\-\*\^\\]\$aazz\[AB\]/g; 

我已阅读 Javascript 中 RegEx 构造函数的其他帖子,但无法完成以下工作:

var preToken = "[\+\=\-\*\^\\]";    
var toFind = "\$aazz\[AB\]";

var stringToReplace = "/" + preToken + toFind + "/";

var regex = new RegExp(stringToReplace, "g");

这是 jsbin http://jsbin.com/ifeday/3/edit

谢谢

4

1 回答 1

4

从字符串创建正则表达式时,您需要对反斜杠进行两次转义。

\ becomes \\
\\ becomes \\\\

因此,您可以尝试(在字符类中,并非所有内容都需要转义):

var preToken = "[+=\\-*^\\\\]"; 
var toFind = "azz\\[A\\]";

此外,您的正则表达式的字符串源不需要由/s 绑定,但我在您的 jsBin 中看到您已经更正了这一点。

用这些变量声明更新你的 jsBin,它现在应该可以工作了。

于 2012-08-17T15:33:48.873 回答