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

RegExpオブジェクト

RegExpオブジェクトは、正規表現を実装したJavaScript標準の組み込みオブジェクトである。

RegExpオブジェクトを作成する構文は次のとおりである。

構文

new RegExp(検索パターン[, フラグ]);
  1. 検索パターンを表す正規表現は、引用符またはスラッシュ(/)で囲む必要がある。
  2. 基本検索設定を変更できるフラグは、必要なときだけ渡すことができる。

RegExp.prototypeメソッド

すべてのRegExpインスタンスは、RegExp.prototypeからメソッドとプロパティを継承する。 このように継承したRegExp.prototypeメソッドを使用して、正規表現を表現できる。

  1. RegExp.prototype.exec()
  2. RegExp.prototype.test()

exec()メソッド

exec()メソッドは、引数として渡された文字列から特定のパターンを検索し、パターンと一致する文字列を返す。 もしパターンと一致する文字列がなければnullを返す。

var targetStr = "abbcdefabgh";
var firstResult = /ab+/.exec(targetStr);    // パターンと一致する文字列が複数ある場合
var secondResult = /abbb+/.exec(targetStr); // パターンと一致する文字列が1つもない場合
firstResult;  // abb -> 最初に一致する文字列が返される。
secondResult; // null

test()メソッド

test()メソッドは、引数として渡された文字列に特定のパターンと一致する文字列があるかを検索する。 パターンと一致する文字列があればtrueを、なければfalseを返す。

var targetStr = "abbcdefabgh";
var firstResult = /ab+/.test(targetStr);    // パターンと一致する文字列が複数ある場合
var secondResult = /abbb+/.test(targetStr); // パターンと一致する文字列が1つもない場合
firstResult;  // true
secondResult; // false

JavaScript RegExp.prototypeメソッド

メソッド 説明
exec() 引数として渡された文字列から特定のパターンを検索し、パターンと一致する文字列を返す。
test() 引数として渡された文字列に特定のパターンと一致する文字列があるかを検索し、その結果を真偽値として返す。
toString() RegExpオブジェクトの正規表現と同じ意味を持つ正規表現リテラル文字列を返す。

JavaScriptは、正規表現で使用するさまざまな情報をRegExp.prototypeプロパティを利用して提供している。

  1. RegExp.prototype.global
  2. RegExp.prototype.ignoreCase
  3. RegExp.prototype.multiline
  4. RegExp.prototype.source

JavaScript RegExp.prototypeプロパティ

プロパティ 説明
global 検索パターンを比較するとき、一致するすべての部分を選択するように設定するフラグgを指す。
ignoreCase 検索パターンを比較するとき、大文字と小文字を区別しないように設定するフラグiを指す。
multiline 検索パターンを比較するとき、複数行の入力文字列をそのまま複数行として比較するように設定するフラグmを指す。
source 検索パターンが含んでいる文字列を指す。