正規表現の基礎

Flash Player 9 以降、Adobe AIR 1.0 以降

正規表現は、文字のパターンを表します。 一般的に、正規表現はテキスト値が特定のパターンに準拠していることを確認する場合(ユーザーが入力した電話番号の桁数が適切であることを確認する場合など)や、特定のパターンと一致するテキストを置き換える場合に使用されます。

正規表現には、単純なものもあります。 例えば、特定のストリングが「ABC」に一致するかどうかを確認する場合や、ストリング内に出現するすべての「ABC」を別のテキストに置き換える場合を考えてください。その場合、文字 A、B、C が順に連続して出現するパターンを定義する次の正規表現を使用できます。

/ABC/

正規表現リテラルを囲む区切り文字はスラッシュ( / )です。

正規表現では、複雑なパターンや解読困難なパターンが使用されることもあります。例えば、次の正規表現は有効な電子メールアドレスに一致します。

/([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}/

最も一般的には、ストリング内のパターンを検索し、文字を置換するために正規表現を使用します。 そうした場合は、正規表現オブジェクトを作成し、それをパラメーターとしていずれかの String クラスのメソッドで使用します。 正規表現のパラメーターを指定できる String クラスのメソッドとしては、 match() replace() search() 、および split() があります。 これらのメソッドについて詳しくは、 ストリング内のパターンの検索およびサブストリングの置換 を参照してください。

RegExp クラスには、 test() メソッドおよび exec() メソッドが含まれます。詳しくは、 ストリングに対して正規表現を使用するメソッド を参照してください。

重要な概念と用語

次の参照リストに、この機能に関連した重要な用語を示します。

エスケープ文字
後に続く文字がリテラル文字ではなくメタ文字として処理する必要があることを示す文字。正規表現シンタックスでは、円記号(¥)はエスケープ文字であるため、別の文字の後続するバックスラッシュは単なる文字自体ではなく特別なコードです。

フラグ
大文字と小文字を区別するかどうかなど、正規表現パターンの使用方法に関するいくつかのオプションを指定する文字。

メタ文字
パターン内で文字を逐語的に表すのではなく、正規表現パターン内で特別な意味を持つ文字。

制御文字
パターンの一部の反復回数を示す文字(または複数の文字)。例えば、米国の郵便番号では 5 桁または 9 桁の番号を含む必要があることを指定するために制御文字を使用します。

正規表現
パターンが他のストリングに一致するかどうかを確認するため、またはストリングの一部を置換するために使用できる文字パターンを定義するプログラムステートメント。