javascript 正規表現で変数
概要
javascriptの正規表現による文字列の抽出が必要になったので調べました。固定の文字列であればmatchのみの使用で、直接関数内に流し込んでもOKなのですが、変数を利用して使いたい場合には少しテクニックが必要です。
使い方
まずは下記をご覧ください。matchで検索対象には直接「search」を挿入して文字列の抽出を行います。
1 |
str.match(/search/); |
ところが、このままでは検索対象に変数を使用することができません。先の場合の「search」はあくまで文字列だからです。このようなケースでは正規表現オブジェクトを使用します。
1 2 3 |
var search = "search"; var reg = new RegExp(search); str.match(reg); |
これだけでは正規表現の意味がないので、少しだけ追記。例えば下記のように使用できます。
1 2 3 |
var search = "search"; var reg = new RegExp("^" + search + "$"); str.match(reg); |
先頭一致や終端一致等の正規表現と組み合わせることができます。
まとめ
単純な文字列検索と変数を使用する場合では、一手間加える必要があり。今後も様々な場面で使用する機会がありそうな、正規表現オブジェクトを覚書として残しておきます。
ディスカッション
コメント一覧
まだ、コメントがありません