JavaScript 正規表現オブジェクト RegExp

2010/09/28(Tue)メモ

正規表現オブジェクトの生成

1つ目

var re = /JavaScript/ig;

2つ目

var re = new RegExp('JavaScript','ig');

第1引数にパターン。

  • 第2引数にオプション
    • i : 大文字小文字無視 (ignore case)
    • g : 複数の表現にマッチさせる (global)
    • m : 複数行にまたがってマッチさせる (multiline)
    • など・・・

test() メソッド ・・・判定

reslt = 正規表現オブジェクト.test("検索対象の文字列")

一致したら、true,一致しなかったら false を返す。


exec() メソッド ・・・検索・抽出

resultArray = 正規表現オブジェクト.exec("検索対象の文字列");

は一回だけ調べる。次の検索はもう一度、execすればよい。
また、検索にマッチしない時は null が返ってくる。

以下がマッチした時のプロパティ

resultArray[0] = マッチしたパターン
resultArray[1~n] = 正規表現のパターン中のそれぞれの '(...)' に一致するパターンが格納される
resultArray['index'] = マッチしたパターンの出現位置 (0からカウントされる)
resultArray['input'] = 検索対象の文字列

正規表現オブジェクトを用いるメソッド

replace() メソッド ・・・置換
result = 置換対象の文字列.replace(正規表現オブジェクト,'置換後の文字列');
match() メソッド ・・・検索(1回)・抽出
resultArray = 検索対象の文字列.match(正規表現オブジェクト);

resultArrayはexec()メソッドの結果と同じ形。