フロントサイドエンジニアという選択肢

HTMLコーダー → ECサイト運営 → システムエンジニア という経歴の著者がフロントサイトエンジニアという職業に今後の活路を見出し、その道に進むために取得した技術を貯めておくブログ

(Javascript) RegExpのexecメソッド

Javascript正規表現パターンは、varに代入した際にRegExpオブジェクトに変換されます。
テキストを検索するパターンではString.matchが代表的ですが、RegExp.execというメソッドでも検索を行うことが出来ます。String.matchとは微妙に動作が違い、用途によってはRegExp.execメソッドの方が便利な場合がるので、メモを残しておきます。

var text = 'The quick brown fox jumps over the lazy dog';
var regs = /.o./g;

regs.lastIndex = 15;
    
var result = regs.exec(text);
if(result)
{
    for(var i in result)
    {
        document.write(i + ':' + result[i] + <br />);
    }
}

// 結果
// 0:fox
// index:16
// input:the quick brown fox jumps over the lazy dog
特徴
  • lastIndexを使用した場合、マッチしなくても最初に戻らない
  • 添字の0でマッチした文字列を取得できる。また、indexで文字の場所、inputで対象のテキストをを取得できる
  • 見つからなかった場合はnullを返す
  • gは無視される