ActionScript 2.0 の正規表現クラス


As2lib に正規表現のパッケージ org.as2lib.regexp があった。0.9.3 から入ったのかな。正規表現を使うなら Joey Lott 版の RegExp クラスでもいいんだけど、ソースを見たら String の prototype を書き換えてるしなあ……。

というわけで、As2lib にてメールアドレスの正当性チェックを行ってみた。Pattern インスタンスと Matcher インスタンスを作成し、Matcher.matches で Boolean が返ってくる。グループのマッチ文字列は Matcher.getGroup で得られる。Matcher には置換メソッドもあるけど、使い方がよく解らない……。

import org.as2lib.regexp.*;
var p:Pattern = new Pattern("^([\\w\\d_\\.\\-]+)@([\\w\\d_\\.\\-]+[\\.][\\w]{2,3})$");
var s:String = "hoge_2006@example.com";
var m:Matcher = new Matcher(p, s);
trace(m.matches()); //true
trace(m.getGroup(1)); //hoge_2006
trace(m.getGroup(2)); //example.com

便利!マッチングにかかる時間は Pentium 4 の 1.8GHz で 10ms 前後。長文には向かないだろうけど、フォームの入力チェックくらいには使えそう。

カテゴリー: Flash   パーマリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>