JavaScript RegExpオブジェクト


RegExp:正規表現(regular expression)の略です。


完全な RegExp オブジェクトリファレンス

私たちのJavaScript RegExp オブジェクトのリファレンスその中には、文字列オブジェクトと一緒に使用できるすべてのプロパティとメソッドが用意されています。

このマニュアルには、各プロパティとメソッドの使い方の詳細な説明と例が含まれています。


RegExp とは?

正規表現は、文字のパターンオブジェクトを記述します。

テキストを検索するときに、検索する内容を表すパターンを使用できます。RegExp はこのパターンです。

単純なパターンは、単一の文字にすることができます。

より複雑なパターンは、より多くの文字を含み、解析、形式チェック、置換などに使用できます。

文字列内の検索位置や、検索する文字の種類などを指定できます。

構文

var patt=new RegExp(pattern,modifiers);

またはより簡単な方法

var patt=/pattern/modifiers;
  • パターンは式のモデルを表します。
  • 修飾子(modifiers)は、検索がグローバルかどうか、大文字と小文字を区別するかどうかなどを表します。

注意:コンストラクタ関数を使用して正規表現オブジェクトを作成する場合は、通常の文字エスケープ規則(前にバックスラッシュ \ を付けます)が必要です。たとえば、次は同等です。

var re = new RegExp("\\w+");
var re = /\w+/;

RegExp 修飾子

修飾子は、大文字と小文字を区別しない検索と全文検索を実行するために使用されます。

i- 修飾子は、大文字・小文字を区別しないマッチングを実行します。

g- 修飾子は、全文検索を実行するために使用されます(最初に見つかった時点で検索を停止するのではなく、すべてのマッチを見つけます)。

例 1

文字列内で大文字と小文字を区別せずに「サンプル」を検索します。

var str = "Visit example"; var patt1 = /サンプル/i;

下記のマークされたテキストは取得されたマッチング式です:

Visit example

試してみる »

例 2

「is」を全文検索します。

var str="Is this all there is?"; var patt1=/is/g;

下記のマークされたテキストは取得されたマッチング式です:

Is this all there is?

試してみる »

例 3

「is」を全文検索し、大文字と小文字を区別せずに検索します。

var str="Is this all there is?"; var patt1=/is/gi;

下記のマークされたテキストは取得されたマッチング式です:

Is this all there is?

試してみる »


test()

test() メソッドは、文字列に指定された値を検索し、結果に応じて true または false を返します。

次の例は、文字列内の文字「e」を検索します。

例

var patt1=new RegExp("e"); document.write(patt1.test("The best things in life are free"));

この文字列には文字「e」が存在するため、上記のコードの出力は次のようになります。

true

試してみる »

コンストラクタ関数を使用して正規表現オブジェクトを作成する場合は、通常の文字エスケープ規則(前にバックスラッシュ \ を付けます)が必要です。

例

var re = new RegExp("\\w+");

試してみる »


exec()

exec() メソッドは、文字列内の指定された値を検索します。戻り値は見つかった値です。一致するものが見つからない場合は null を返します。

次の例は、文字列内の文字「e」を検索します。

例 1

var patt1=new RegExp("e"); document.write(patt1.exec("The best things in life are free"));

この文字列には文字「e」が存在するため、上記のコードの出力は次のようになります。

e

試してみる »
その他の拡張