1

MatchesMaskC# .NET中的 Delphi 函数的等价物是什么?我该如何使用它,我需要包含哪个命名空间引用?

MatchesMask帮助中描述的功能:

指示文件名是否符合过滤器字符串指定的格式。

调用 MatchesMask 以检查 Filename 参数,使用 Mask 参数描述有效值。有效掩码由文字字符、集合和通配符组成。

每个文字字符必须匹配字符串中的单个字符。与文字字符的比较不区分大小写。

每个集合都以一个左括号 ([) 开始,并以一个右括号 (]) 结束。括号之间是集合的元素。每个元素都是文字字符或范围。范围由初始值、破折号 (-) 和最终值指定。不要使用空格或逗号来分隔集合的元素。集合必须匹配字符串中的单个字符。如果字符与集合中的文字字符之一相同,或者如果它位于集合中的某个范围内,则该字符与集合匹配。如果字符与初始值、最终值匹配或介于这两个值之间,则该字符在范围内。所有比较都不区分大小写。如果集合的左括号后的第一个字符是感叹号 (!),则该集合匹配任何不在该集合中的字符。

通配符是星号 (*) 或问号 (?)。星号匹配任意数量的字符。问号匹配单个任意字符。

如果字符串与掩码匹配,则 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 回答