jstarted.com
JavaScript/HTML/CSSのノウハウや覚書を掲載するブログ
2014.5.14

正規表現を使ったマッチングに変数を使用する

Category:
Tips

正規表現による文字列のマッチングをはじめて試みたんですが、正規表現に変数を使用するのに少し手こずったので、やり方をメモしておきます。単純にRegExp(正規表現オブジェクト)の存在をいままで知らなかったというだけですが・・・

var base_str = '', // 検索対象となる文字列
    str = '', // 正規表現に組み合わせたい文字列
    regexp = new RegExp(str + '(.*?)', 'g'), // 正規表現オブジェクト ここでは正規表現も文字列で記載する
    match_arr = base_str.match(regexp); // 検索対象から正規表現にマッチするものを抽出して、返す

console.log(match_arr);

正規表現オブジェクトの文末(フラグ)に'g'を指定すると、2つ目以降のマッチする箇所も抽出し、配列にして返してくれます。逆に言えば、gを指定しないと最初にマッチした結果しか返してくれませんでした。

jstarted.comはamazon.co.jpを宣伝しリンクすることによってサイトが紹介料を
獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、
Amazonアソシエイト・プログラムの参加者です。

クリエイティブ・コモンズ・ライセンス
jstarted.com by yoichi kobayashi is licensed under a Creative Commons 表示 3.0 非移植 License.