正規表現の中に正規表現で使う記号を扱う場合、"\"でエスケープする。 (集合を表す記号[]の中では"]"と"\"以外はエスケープ不要)
記号をエスケープする場合は、記号の前に"\"を記述する。"\"自体を文字として扱いたい場合は"\\"となる。
下記サンプルの場合"]"と"\"がマッチする。
サンプルvar ret = str.match(/[\]\\]/i);
RegExpの場合は、クォーテーションで括られているため通常のエスケープも必要。
例えば、クォーテーションで括られた文字列内で"\"を記述する場合は通常"\\"と書く必要がある(Javascriptのルール)。このルールと正規表現のエスケープルールの"\"が加わって"\"の数が2倍になる。 つまり"\"を文字として扱いたい場合は"\\\\"となる。
下記サンプルの場合"]"と"\"がマッチする。
var reg = new RegExp('[\\]\\\\]', 'i')