トップページに戻る    次の正規表現パズルへ    前の正規表現パズルへ

9-5 文字クラスの集合演算(差集合)

正規表現パズル

.NETの文字クラスの集合演算(差集合)の使用例です。

MSDN --- 文字クラス減算


ソース

using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        //var strArr = new string[] {"abcde","fghij",
        //                           "klmno","pqrst",
        //                           "uvwxy","z"};

        string[] strArr = {"abcde","fghij",
                           "klmno","pqrst",
                           "uvwxy","z"};

        const string Pattern = "^[a-z-[aiueo]]+";
        System.Console.WriteLine("Pattern {0}", Pattern);
        foreach (string each in strArr) {
            string WillOut = each;
            if (Regex.IsMatch(each, Pattern)) {
                WillOut += " matchs ";
                WillOut += Regex.Match(each, Pattern).Value;
            }
            else {
                WillOut += " no match";
            }
            System.Console.WriteLine(WillOut);
        }
    }
}


実行結果

Pattern ^[a-z-[aiueo]]+
abcde no match
fghij matchs fgh
klmno matchs klmn
pqrst matchs pqrst
uvwxy no match
z matchs z