リプタクのもう覚えられません
Google
Web サイト内
topmemo ▶ 正規表現のメタ文字とは

ActionScript

正規表現のメタ文字とは

正規表現のメタ文字とは、特殊なルールを持った文字のこと。例「*」→0回以上繰り返す文字

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

/*
メタ文字自体パターンマッチに組み込む場合は、バックスラッシュを使用して無効化する
→ \(バックスラッシュ) + メタ文字 
*/

//サンプル文字列
var str1:String = "100-3*2*(4-5)/1+5*(3-4)";
trace(str1);//出力 100-3*2*(4-5)/1+5*(3-4)

//test
var reg1:RegExp = /1/;
trace(reg1.source);//出力 1
trace(reg1.test(str1));//出力 true

//test
var reg2:RegExp = /(/;
trace(reg2.source);//出力 (
trace(reg2.test(str1));//出力 false ←メタ文字「(」→「\(」

//test
var reg3:RegExp = /\(/;
trace(reg3.test(str1));//出力 true

/*
メタ文字一覧
「.」→任意の文字
「^」→文字列の先頭、否定文字
「$」→文字列の最後
「*」→0回以上の繰り返し
「+」→1回以上の繰り返し
「?」→0回または1回以上の繰り返し
「-」→範囲指定
「|」→選択肢の定義
「( )」→グループの定義
「[ ]」→文字クラスの定義
「\」→メタシーケンスまたはメタ文字の無効化
*/

//test
var reg4:RegExp = /./;//文字がある
trace(reg4.test("abc12"));//出力 true
trace(reg4.test(""));//出力 false
trace(reg4.test(" "));//出力 true

//test
var reg5:RegExp = /^A/;//先頭に「A」
trace(reg5.test("AB"));//出力 true
trace(reg5.test("BA"));//出力 false

//test
var reg6:RegExp = /[^A]/;//「A」でない文字
trace(reg6.test("A"));//出力 false
trace(reg6.test("AB"));//出力 true

//test
var reg7:RegExp = /[^ABC]/;//「A」「B」「C」でない文字
trace(reg7.test("ABC"));//出力 false
trace(reg7.test("CBA"));//出力 false
trace(reg7.test("CCC"));//出力 false
trace(reg7.test("D"));//出力 true

//test
var reg8:RegExp = /[A]$/;//文字列の末尾が「A」
trace(reg8.test("ABC"));//出力 false
trace(reg8.exec("ABC"));//出力 null
trace(reg8.exec("CBA"));//出力 A

//test
var reg9:RegExp = /[A]*/;//「A」が0回以上
trace(reg9.test("BC"));//出力 true

//test
var reg10:RegExp = /[A]+/;//「A」が1回以上
trace(reg10.test("BC"));//出力 false
trace(reg10.test("ABC"));//出力 true

//test
var reg11:RegExp = /[A]?/;//「A」が0回または1回以上の繰り返し(不明)
trace(reg11.test("B"));//出力 true

//test
var reg12:RegExp = /[A-G]/;//「A〜G」が含まれている
trace(reg12.test("ABZ"));//出力 true
trace(reg12.test("XYZ"));//出力 false

//test
var reg13:RegExp = /[A|G]/;//「A」または「G」どちらかが含まれている
trace(reg13.test("BCDEF"));//出力 false
trace(reg13.test("FGH"));//出力 true

//test
var reg14:RegExp = /(moji)/;//「moji」が含まれている
trace(reg14.test("XXmojiXX"));//出力 true
trace(reg14.test("XXmoXXjiXX"));//出力 false

//test
var reg15:RegExp = /\d/;//「0〜9」が含まれている
trace(reg15.test("0.123"));//出力 true
trace(reg15.test("\\d"));//出力 false

//test
var reg16:RegExp = /(\\d)/;//「\d」が含まれている
trace(reg16.test("0.123"));//出力 false
trace(reg16.test("\\d"));//出力 true

//test
var reg17:RegExp = /"/;//「"」が含まれている
trace(reg17.test("\""));//出力 true

/*
「\」は文字列内においてもエスケープする
*/
last update 2009.4.15
参考・出典等
Riptac 正規表現とは
Riptac RegExpで正規表現パターンを設定
サルにもわかる正規表現入門

▲page top

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