カテゴリー:その他こんにちは!青木です!GeneXus(ジェネクサス)は、『何でも自動生成できる魔法のツールではない。部分は、人間がせざるを得ないということです。その要件定義をシステムに反映させる面で、なるべく複雑なロジックのコーディングをしないで済む工夫は随所に見られます。今回取り上げる正規表現も、GeneXus特有のものではないですが、その一つであると言えます。expression)とは、文字列の集合を一つの文字列で表現する方法の一つである。』(出典:http://ja.wikipedia.org/wiki/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE)定義だと堅苦しいですね。GeneXusを使って、正規表現を利用したアプリケーションを作成していきましょう。上は、とあるトランザクション(Transaction)オブジェクトです。郵便番号を入力する際の書式を正規表現を用いて定めたいと思います。その時、大きく分けて以下2通りの方法があります。Expression』プロパティで設定する今日の郵便番号は2の方法で設定してみます。項目属性:MemberZip(郵便番号)のプロパティは上のように修正します。Message』プロパティにエラーメッセージを、それぞれ入力しています。☆ちなみに、ドメインのプロパティにも定義できますので、何度も同じ制御を書くことは省略できます(手順は同様です)☆正規表現の意味は、後ほどに回して、結果を見てみましょう。郵便番号の欄にハイフンを入れないで入力したりすると、エラーメッセージが出力され、入力が有効になりません。(画像が汚くて、すみません)成功時の画面は以下です。正規表現の適用の流れは以上ですが、肝心の正規表現の記述の部分について少々解説してみます。『^\d{3}\-\d{4}$』(\は、エンマークです)となっていましたね。先頭と末尾の『^$』ですが、『^』は、先頭の一致を表し、『$』は末尾の一致を表します。『\d{3}\-\d{4}』部分だけしか存在しない行という意味です。この時点でほとんどの形がエラーになることは分かりますね。次に『\d』ですが、これは0~9の数字を意味します。{n}は、n回の繰り返しを意味しますので、『\d{3}』は、0~9の数字が三回連続で使われているものを指します。『\-』は単に『-』を表しますから、全体では、『0~9の数字を3回繰り返した後に、-があって、その後に0~9の数字を4回繰り返した書式、それだけが存在する行』ということになります。『XXX-XXXX』の形というわけです。本日はこの辺でおしまいにしたいと思います。自信満々に”続きもの宣言”したもののネタがもつのやら...(笑)次回はもっと正規表現×GeneXusの部分をお見せできればと思います。