技術空間

Javascript

正規表現で記号をエスケープする方法


TOP > Javascript > 正規表現で記号をエスケープする方法



■正規表現で記号をエスケープする方法

正規表現の中に正規表現で使う記号を扱う場合、"\"でエスケープする。 (集合を表す記号[]の中では"]"と"\"以外はエスケープ不要)


正規表現リテラルを使う方法

記号をエスケープする場合は、記号の前に"\"を記述する。"\"自体を文字として扱いたい場合は"\\"となる。

下記サンプルの場合"]"と"\"がマッチする。

サンプル
var ret = str.match(/[\]\\]/i);

RegExpを使う方法

RegExpの場合は、クォーテーションで括られているため通常のエスケープも必要。

例えば、クォーテーションで括られた文字列内で"\"を記述する場合は通常"\\"と書く必要がある(Javascriptのルール)。このルールと正規表現のエスケープルールの"\"が加わって"\"の数が2倍になる。 つまり"\"を文字として扱いたい場合は"\\\\"となる。

下記サンプルの場合"]"と"\"がマッチする。

サンプル
var reg = new RegExp('[\\]\\\\]', 'i')


TOP > Javascript > 正規表現で記号をエスケープする方法

Tweet ̃Gg[͂ĂȃubN}[Nɒlj
技術空間