IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

文字列から正規表現を生成するときのメモ

base2 のコードを見ていたら便利そうだったのでメモ

http://code.google.com/p/base2/

文字列から正規表現を作るとき

RegExp("^hoge$"); // hoge とマッチ
RegExp("^\\\\$"); // \ とマッチ
RegExp("^\\[hoge\\]$"); // [hoge] とマッチ

という感じで、バックスラッシュをいっぱい書かなければいけないので

以下のような関数を用意してやって

function _r(str) {
  return (str + '').replace(/([\/()[\]{}|*+-.,^$?\\])/g, "\\$1");
}

こんな感じで

match(RegExp('^' + _r(prefix) + 'unko'), 'unko');

めもめも