リプタクのもう覚えられません
Google
Web サイト内
topmemo ▶ RegExpで正規表現パターンを設定

ActionScript

RegExpで正規表現パターンを設定

RegExpクラスで正規表現パターンを設定するサンプル。

【ActionScript3.0 サンプルソース】

//RegExpオブジェクトの生成 パターンの設定(正規表現形式)→/パターン/フラグ
var reg1:RegExp = /文字列/g;
trace(reg1);//出力 /文字列/g
trace(reg1.source);//出力 文字列

//RegExpオブジェクトの生成 パターンの設定(コンストラクタ形式)→"パターン","フラグ"
var reg2:RegExp = new RegExp("サンプル","g");
trace(reg2);//出力 /サンプル/g
trace(reg2.source);//出力 サンプル

//サンプル文字列
var str1:String = "文字列正規表現のテスト-0.334+2*(4+2)";
trace(str1);//出力 文字列正規表現のテスト-0.334+2*(4+2)

//「test」サンプル文字にパターンが含まれているか確認
trace(reg1.test(str1));//出力 true
trace(reg2.test(str1));//出力 false

//「ecec」サンプル文字にパターンが含まれているか確認
trace(reg1.exec(str1));//出力 null ←「文字列」とはならない ※1
trace(reg2.exec(str1));//出力 null
trace(reg2.exec("追加:サンプル文字"));//出力 サンプル
trace(reg2.lastIndex);//出力 7

//※1 パターンが含まれているが、出力が「文字列」とはならない為、[ ]を使用
var reg3:RegExp = /[文字列]/g;
trace(reg3);//出力 /[文字列]/g
trace(reg3.test(str1));//出力 true
trace(reg3.exec(str1));//出力 文 ←「文字列」とはならない ※2

//※2 パターンが含まれているが、出力が「文字列」とはならない為、]を位置変更
var reg4:RegExp = /[文]字列/g;
trace(reg4);//出力 /[文]字列/g
trace(reg4.exec(str1));//出力 文字列
trace(reg4.test("文章字体列挙"));//出力 false ←並びがあっていない
trace(reg4.exec("文章字体列挙"));//出力 null ←並びがあっていない
trace(reg3.exec("文章字体列挙"));//出力 字 

var reg5:RegExp = /文[字]列/g;
trace(reg5.exec("文章字体列挙"));//出力 null

//一致した文字位置
trace(reg4.lastIndex);//出力 0 ←一致した最後の位置(デフォルト 又は 一致しなかった場合)
trace(reg4.exec("どこにあるのか文字列の位置"));//出力 文字列
trace(reg4.lastIndex);//出力 10 ←一致した最後の位置

/*
実験まとめ

正規表現を扱うクラス→「RegExp」
パターンを正規表現で設定→「/パターン/フラグ」
パターンをコンストラクタで設定→「"パターン","フラグ"」
設定パターンを確認→「source」
一致した最後の位置→「lastIndex」
文字列に正規表現が含まれているか?ブール値→「test」
文字列に含まれていた正規表現はなんだ?objかnull→「exec」

キーワード「文字列」をパターンで記述するには
正規表現形式→/[文]字列/
コンストラクタ形式→"文字列"
*/


/*
その他メモ

正規表現のパラメータを指定できるメソッド
String クラス・・・match(),replace(),search(),split() 
RegExpクラス・・・test(),exec()

メタ文字,メタシーケンス,繰り返し制御,選択肢,グループ,
後方参照,先読みグループ,名前付きグループ,フラグ
*/
last update 2009.4.14
参考・出典等
Riptac 正規表現とは

▲page top

topmemogallery||blogtestaboutmail
Copylight(C)2008-2009 Riptac. All Rights Reserved.