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

文字列から正規表現を作成する場合は、円記号を2回エスケープする必要があります。

\ becomes \\
\\ becomes \\\\

したがって、次のことを試すことができます(文字クラスでは、すべてをエスケープする必要はありません)。

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

また、正規表現の文字列ソースはsでバインドする必要はありませんが/、jsBinですでに修正されていることがわかります。

これらの変数宣言でjsBinを更新すると、これで機能するはずです。

于 2012-08-17T15:33:48.873 に答える