什么是Delphi MatchesMask函数的C#等价物?

dee*_*ngh 1 c# delphi c#-4.0

什么是MatchesMaskC#.NET 中的Delphi 函数?我如何使用它,以及我需要包含哪些命名空间参考?

MatchesMask帮助中描述的功能:

指示文件名是否符合筛选字符串指定的格式.

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

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

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

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

如果字符串与掩码匹配,则MatchesMask返回true.如果字符串与掩码不匹配,则MatchesMask返回false.如果掩码在语法上无效,则MatchesMask会引发异常.

注意:Filename参数不必是文件名.MatchesMask可用于检查字符串与任何语法正确的掩码.

Rut*_*ani 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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

您可以参考以下链接以获取快速参考