Help us understand the problem. What is going on with this article?

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

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

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

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/RegExp

var strBase = '',
    // 検索対象となる文字列

    strCombRegex = '',
    // 正規表現に組み合わせたい文字列

    regexp = new RegExp(strCombRegex + '(.*?)', 'g'),
    // 正規表現オブジェクト ここでは正規表現も文字列で記載する

    matchArr = strBase.match(regexp);
    // 検索対象から正規表現にマッチするものを抽出して、返す

console.log(matchArr);

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

ykob
フロントエンドエンジニアもどき。 クリエイティブコーダーになりたい。
http://www.tplh.net
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした