1

MatchesMaskC#.NETのDelphi関数に相当するものは何ですか?どうすれば使用できますか?また、どの名前空間参照を含める必要がありますか?

MatchesMaskヘルプで説明されている関数:

ファイル名がフィルター文字列で指定された形式に準拠しているかどうかを示します。

MatchesMaskを呼び出し、Maskパラメーターを使用してFilenameパラメーターをチェックし、有効な値を記述します。有効なマスクは、リテラル文字、セット、およびワイルドカードで構成されます。

各リテラル文字は、文字列内の1文字と一致する必要があります。リテラル文字との比較では、大文字と小文字は区別されません。

各セットは、開き角かっこ([)で始まり、閉じかっこ(])で終わります。括弧の間にセットの要素があります。各要素はリテラル文字または範囲です。範囲は、初期値、ダッシュ(-)、および最終値で指定されます。セットの要素を区切るためにスペースやコンマを使用しないでください。セットは、文字列内の1文字と一致する必要があります。セット内のリテラル文字の1つと同じである場合、またはセット内の範囲の1つにある場合、その文字はセットと一致します。文字が初期値または最終値と一致するか、2つの値の間にある場合、その文字は範囲内にあります。すべての比較では大文字と小文字は区別されません。セットの開始ブラケットの後の最初の文字が感嘆符(!)である場合、セットはセットに含まれていないすべての文字と一致します。

ワイルドカードは、アスタリスク(*)または疑問符(?)です。アスタリスクは任意の数の文字に一致します。疑問符は単一の任意の文字に一致します。

文字列がマスクと一致する場合、MatchesMaskはtrueを返します。文字列がマスクと一致しない場合、MatchesMaskはfalseを返します。マスクが構文的に無効な場合、MatchesMaskは例外を発生させます。

注:Filenameパラメーターはファイル名である必要はありません。MatchesMaskを使用して、構文的に正しいマスクに対して文字列をチェックできます。

4

2 に答える 2

5

最新のプログラミング言語は、パターンのマッチングを可能にする正規表現エンジンを提供します。

C# は、次の方法で使用できる Regex クラスを提供します。

using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        // First we see the input string.
        string input = "/content/alternate-1.aspx";

        // Here we call Regex.Match.
        Match match = Regex.Match(input, @"content/([A-Za-z0-9\-]+)\.aspx$",
            RegexOptions.IgnoreCase);

        // Here we check the Match instance.
        if (match.Success)
        {
            // Finally, we get the Group value and display it.
            string key = match.Groups[1].Value;
            Console.WriteLine(key);
        }
    }
}

クイック リファレンスについては、次のリンクを参照できます。

于 2012-08-06T13:09:41.630 に答える
0

System.Text.RegularExpressionsデータを正規表現と比較してマスクを実装するために使用できます

于 2012-08-06T13:08:56.483 に答える