| パッケージ | トップレベル |
| クラス | public dynamic class RegExp |
| 継承 | RegExp Object |
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
new RegExp() コンストラクタを使用するか、RegExp リテラルを変数に割り当てることによって、新しい RegExp オブジェクトを作成することができます。
var pattern1:RegExp = new RegExp("test-\\d", "i");
var pattern2:RegExp = /test-\d/i;
詳細については、『ActionScript 3.0 のプログラミング』の「正規表現の使用」を参照してください。
関連項目
| プロパティ | 定義元 | ||
|---|---|---|---|
![]() | constructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
| Object | |
| dotall : Boolean
[read-only]
正規表現パターン内のドット文字 (.) と 改行文字を一致させるかどうかを指定します。
| RegExp | ||
| extended : Boolean
[read-only]
正規表現に拡張モードを使用するかどうかを指定します。
| RegExp | ||
| global : Boolean
[read-only]
正規表現にグローバル照合を使用するかどうかを指定します。
| RegExp | ||
| ignoreCase : Boolean
[read-only]
正規表現で大文字と小文字の区別を無視するかどうかを指定します。
| RegExp | ||
| lastIndex : Number
ストリング内で次回の検索を開始するインデックス位置を指定します。
| RegExp | ||
| multiline : Boolean
[read-only]
m (multiline) フラグを設定するかどうかを指定します。
| RegExp | ||
![]() | prototype : Object
[static]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
| Object | |
| source : String
[read-only]
正規表現のパターン部分を指定します。
| RegExp | ||
| メソッド | 定義元 | ||
|---|---|---|---|
|
2 つのストリングから正規表現を作成することができます。
| RegExp | ||
|
指定されたストリング str について、正規表現を検索します。
| RegExp | ||
![]() |
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
| Object | |
![]() |
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
| Object | |
![]() |
指定されたプロパティが存在し列挙できるかどうかを示します。
| Object | |
![]() |
ループ処理に対するダイナミックプロパティの可用性を設定します。
| Object | |
|
指定されたストリング str 内に正規表現と一致するサブストリングがあるかどうかをテストします。
| RegExp | ||
![]() |
指定されたオブジェクトのストリング表現を返します。
| Object | |
![]() |
指定されたオブジェクトのプリミティブな値を返します。
| Object | |
| dotall | プロパティ |
dotall:Boolean [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
正規表現パターン内のドット文字 (.) と 改行文字を一致させるかどうかを指定します。正規表現の作成時に s フラグを使用して、dotall = true に設定します。
public function get dotall():Boolean
関連項目
s (dotall) フラグを設定した場合の効果を示しています。
var str:String = "<p>Hello\n"
+ "again</p>"
+ "<p>Hello</p>";
var pattern:RegExp = /<p>.*?<\/p>/;
trace(pattern.dotall) // false
trace(pattern.exec(str)); // <p>Hello</p>
pattern = /<p>.*?<\/p>/s;
trace(pattern.dotall) // true
trace(pattern.exec(str));
| extended | プロパティ |
extended:Boolean [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
正規表現に拡張モードを使用するかどうかを指定します。RegExp オブジェクトが拡張モードの場合、コンストラクタストリング内の空白文字は無視されます。これはコンストラクタの可読性を高めるためことを目的とします。
正規表現の作成時に x フラグを使用して、extended = true に設定します。
public function get extended():Boolean
関連項目
x フラグが使用されているため、ストリング内の空白文字は無視されます。
var rePhonePattern1:RegExp = /\d{3}-\d{3}-\d{4}|\(\d{3}\)\s?\d{3}-\d{4}/;
var str:String = "The phone number is (415)555-1212.";
trace(rePhonePattern1.extended) // false
trace(rePhonePattern1.exec(str)); // (415)555-1212
var rePhonePattern2:RegExp = / \d{3}-\d{3}-\d{4} | \( \d{3} \) \ ? \d{3}-\d{4} /x;
trace(rePhonePattern2.extended) // true
trace(rePhonePattern2.exec(str)); // (415)555-1212
| global | プロパティ |
global:Boolean [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
正規表現にグローバル照合を使用するかどうかを指定します。global == true の場合、一致するものが 1 つ見つかった後に lastIndex プロパティが設定されます。次回、照合が要求されたときには、正規表現エンジンはストリングの lastIndex の位置から照合を開始します。正規表現の作成時に g フラグを使用して、global を true に設定します
public function get global():Boolean
関連項目
g (global) フラグを exec() メソッドに設定した場合の効果を示しています。
var pattern:RegExp = /foo\d/; var str:String = "foo1 foo2"; trace(pattern.global); // false trace(pattern.exec(str)); // foo1 trace(pattern.lastIndex); // 0 trace(pattern.exec(str)); // foo1 pattern = /foo\d/g; trace(pattern.global); // true trace(pattern.exec(str)); // foo1 trace(pattern.lastIndex); // 4 trace(pattern.exec(str)); // foo2
| ignoreCase | プロパティ |
ignoreCase:Boolean [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
正規表現で大文字と小文字の区別を無視するかどうかを指定します。正規表現の作成時に i フラグを使用して、ignoreCase = true に設定します。
public function get ignoreCase():Boolean
関連項目
i (ignoreCase) フラグを設定した場合の効果について示しています。
var pattern:RegExp = /bob/; var str:String = "Bob bob"; trace(pattern.ignoreCase); // false trace(pattern.exec(str)); // bob pattern = /bob/i; trace(pattern.ignoreCase); // true trace(pattern.exec(str)); // Bob
| lastIndex | プロパティ |
lastIndex:Number [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
ストリング内で次回の検索を開始するインデックス位置を指定します。このプロパティは、RegExp クラスの exec() メソッドと test() メソッドに影響します。ただし、String クラスの match() メソッド、replace() メソッド、および search() メソッドは、lastIndex プロパティを無視し、すべての検索をストリングの先頭から開始します。
exec() メソッドまたは test() メソッドで一致するものが見つかり、正規表現で g (global) フラグが true に設定されている場合、メソッドは自動的に lastIndex プロパティを、最後に一致したサブストリング内の最後の文字の次にある文字のインデックス位置に設定します。g (global) フラグが false に設定されている場合、メソッドは lastIndex プロパティを設定しません。
lastIndex プロパティを設定することで、ストリング内で正規表現による検索を開始する位置を調整できます。
public function get lastIndex():Number
public function set lastIndex(value:Number):void
関連項目
lastIndex プロパティを設定した場合の効果を示しています。また、exec() メソッドを g (global) フラグが設定された正規表現で呼び出した後に、そのプロパティがどのように更新されるかを示しています。
var pattern:RegExp = /\w\d/g; var str:String = "a1 b2 c3 d4"; pattern.lastIndex = 2; trace(pattern.exec(str)); // b2 trace(pattern.lastIndex); // 5 trace(pattern.exec(str)); // c3 trace(pattern.lastIndex); // 8 trace(pattern.exec(str)); // d4 trace(pattern.lastIndex); // 11 trace(pattern.exec(str)); // null
| multiline | プロパティ |
multiline:Boolean [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
m (multiline) フラグを設定するかどうかを指定します。設定する場合、正規表現内のキャレット (^) とドル記号 ($) は改行文字の前と後に一致します。正規表現の作成時に m フラグを使用して、multiline = true に設定します。
public function get multiline():Boolean
関連項目
m (multiline) フラグを設定した場合の効果について示しています。
var pattern:RegExp = /^bob/;
var str:String = "foo\n"
+ "bob";
trace(pattern.multiline); // false
trace(pattern.exec(str)); // null
pattern = /^bob/m;
trace(pattern.multiline); // true
trace(pattern.exec(str)); // bob| source | プロパティ |
source:String [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
正規表現のパターン部分を指定します。
public function get source():String
関連項目
source パラメータを出力します。
var re1:RegExp = /aabb/gi;
trace(re1.source); // aabb
var re2:RegExp = new RegExp("x+y*", "i");
trace(re2.source); // x+y*
| RegExp | () | コンストラクタ |
public function RegExp(re:String, flags:String)
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
2 つのストリングから正規表現を作成することができます。正規表現で使用するフラグを定義するストリングの 2 つのストリングから、正規表現を作成することができます。
パラメータre:String — 正規表現のパターンです。コンストラクタストリングとも言います。これは正規表現のメインとなる部分です。つまり、"/" で囲まれる部分です。
メモ :
|
|
flags:String — 正規表現のモディファイアです。これには次のものが含まれます。
|
関連項目
| exec | () | メソッド |
AS3 function exec(str:String):Object
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
指定されたストリング str について、正規表現を検索します。
正規表現に g (global) フラグが設定されていない場合、ストリングの先頭 (インデックス位置 0) から検索が開始され、正規表現の lastIndex プロパティは無視されます。
正規表現に g (global) フラグが設定されている場合、正規表現の lastIndex プロパティで指定されたインデックス位置から検索が開始されます。検索でサブストリングが一致すると、lastIndex プロパティは一致したサブストリングの最後の位置に変更されます。
パラメータ
str:String — 検索するストリングです。
|
Object — 一致が見つからない場合は null、それ以外の場合は、次に示すプロパティを持つオブジェクトを返します。
|
関連項目
g (global) フラグを設定しない場合、exec() を使用して、ストリング内で最初に一致するものを検索することができます。
var myPattern:RegExp = /(\w*)sh(\w*)/ig;
var str:String = "She sells seashells by the seashore";
var result:Object = myPattern.exec(str);
trace(result);
result オブジェクトは次のように設定されます。
result[0] は "She" に設定されます (完全一致)。 result[1] は空のストリングに設定されます (括弧指定されたグループの最初の一致)。 result[2] は "e" に設定されます (括弧指定されたグループの 2 番目の一致)。 result.index は 0 に設定されます。result.input は入力ストリング "She sells seashells by the seashore" に設定されます。 次の例では、正規表現に g (global) フラグが設定されているため、exec() を繰り返し使用して、一致するものを複数検索することができます。
var myPattern:RegExp = /(\w*)sh(\w*)/ig;
var str:String = "She sells seashells by the seashore";
var result:Object = myPattern.exec(str);
while (result != null) {
trace( result.index, "\t", result);
result = myPattern.exec(str);
}
このコードの出力は、次のようになります。
0 She,,e 10 seashells,sea,ells 27 seashore,sea,ore
| test | () | メソッド |
AS3 function test(str:String):Boolean
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
指定されたストリング str 内に正規表現と一致するサブストリングがあるかどうかをテストします。
正規表現に g (global) フラグが設定されていない場合、ストリングの先頭 (インデックス位置 0) から検索が開始され、正規表現の lastIndex プロパティは無視されます。
正規表現に g (global) フラグが設定されている場合、正規表現の lastIndex プロパティで指定されたインデックス位置から検索が開始されます。検索でサブストリングが一致すると、lastIndex プロパティは一致したサブストリングの最後の位置に変更されます。
パラメータ
str:String — テストするストリングです。
|
Boolean — 一致が存在する場合は true、それ以外の場合は false を返します。
|
関連項目
test() メソッドを、g (global) フラグが設定された正規表現で使用する方法を示しています。
var re1:RegExp = /\w/g; var str:String = "a b c"; trace(re1.lastIndex); // 0 trace(re1.test(str)); // true trace(re1.lastIndex); // 1 trace(re1.test(str)); // true trace(re1.lastIndex); // 3 trace(re1.test(str)); // true trace(re1.lastIndex); // 5 trace(re1.test(str)); // false
informalizeGreeting() メソッドは、大文字小文字に関係なく Hello という語が見つかると、この語を単純に Hi に置き換えます。また、ストリング内の名前から姓を削除します。ただし、指定されたパターンに名前が一致する場合です。validateEmail() と validatePhoneNumber() メソッドは、渡されたストリングのパターンが有効な電子メールアドレスまたは特定の電話番号のパターンと一致するかどうかをチェックし、その結果に従ってブール値を返します。
package {
import flash.display.Sprite;
public class RegExpExample extends Sprite {
public function RegExpExample() {
var formalGreeting:String = "Hello, John Smith.";
trace(informalizeGreeting(formalGreeting)); // Hi, John.
var validEmail:String = "name@domain.com";
trace(validateEmail(validEmail)); // true
var invalidEmail:String = "foo";
trace(validateEmail(invalidEmail)); // false
var validPhoneNumber:String = "415-555-1212";
trace(validatePhoneNumber(validPhoneNumber)); // true
var invalidPhoneNumber:String = "312-867-530999";
trace(validatePhoneNumber(invalidPhoneNumber)); // false
}
private function informalizeGreeting(str:String):String {
var pattern:RegExp = new RegExp("hello, (\\w+) \\w+", "i");
return str.replace(pattern, "Hi, $1");
}
private function validateEmail(str:String):Boolean {
var pattern:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/;
var result:Object = pattern.exec(str);
if(result == null) {
return false;
}
return true;
}
private function validatePhoneNumber(str:String):Boolean {
var pattern:RegExp = /^\d{3}-\d{3}-\d{4}$/;
var result:Object = pattern.exec(str);
if(result == null) {
return false;
}
return true;
}
}
}
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/RegExp.html