program study story

プログラムの勉強 アウトプット

PG 正規表現/enum(列挙型)について

・正規化とは

いくつかの文字列のパターンを1つの形式でまとめて表現するための方法

 

・どのようなことができるのか

正規表現を使うと、複雑な検索が可能になる。

 

●文字列内に指定されたパターンと一致する部分があるか調べる。

例)

入力された文字列が電子メールアドレスとして適当か調べるなど。

●文字列から指定されたパターンと一致する部分があるか調べる。

例)

文字列内にあるURLの部分をすべて抜き出すなど。

●文字列から指定されたパターンと一致する部分を別の文字列に置換する。 

例)

文字列内にあるURLにリンク(<a>タグ)を付けたり、HTMLのタグを削除するなど。

●文字列を分割して配列にする場合にも使用可能。

この場合は、Regex.Splitメソッドを使用。

正規表現の練習方法

「こんな文字列が出てくる部分を探して」というパターンをたくさん書くこと。

 

enum(列挙型)とは

特定の値しかとらない型を表現するために使用される。

特定の値しか取らない型を表現するためには列挙型というものを使う。

例)

曜日・・・月火水木金土

月・・・・1月2月3月4月5月......12月

日本の年号(明治・大正・昭和・平成・令和)

飛行機の乗車クラス(エコノミー、ビジネス、ファースト)、性別(男女)など。。。

定義 構文

enum 列挙列名

{

 メンバー1、メンバー2、....,メンバーn

}

使用時 コードの記載のしかた

列挙型名.メンバー名

 

列挙型の値

列挙型はプログラムの内部では整数として扱われていて、整数に変換することでその値を取り出すことができる。

特に値や型を指定しなければ、列挙型はintとして扱われます

enum DayOfWeek
{
  Mon, Tue, Wed, Thu, Fri, Sat, Sun
}

Mon=0, Tue=1, Wed=2, Thu=3, Fri=4, Sat=5, Sun=6という値になる。

 

型や値の指定

列挙型の型や値は明示的に指定することができます。

※1つ目のメンバだけに、値を設定すると、残りのメンバーの値は1つ目のメンバーの値から1ずつ増加した値になる。

enum 列挙型名 : 内部的な型
{
  メンバー1 = メンバー1の値,
  メンバー2 = メンバー2の値, …,
  メンバーn = メンバーnの値
}

byte型で、値が1から始まる列挙型を定義したい場合

enum Month : byte
{
  January = 1, February, March, April,
  May, June, July, August,
  September, October, November, December
}

フラグとしての活用

定数を定義したい場合

[Flags]属性を付ける

後日記載。