113
87

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Last updated at Posted at 2014-12-01

正規表現による文字列のマッチングをはじめて試みたんですが、
正規表現に変数を使用するのに少し手こずったので、
やり方をメモしておきます。

単純にRegExp(正規表現オブジェクト)の存在を
いままで知らなかったというだけですが・・・

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

console.log(matchArr);

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

113
87
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
113
87

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?