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

本文关键字:等价物 函数 MatchesMask Delphi 什么 | 更新日期: 2024-10-26 00:13:29

C

# .NET 中的 Delphi MatchesMask 函数等效于什么?如何使用它,以及我需要包含哪个命名空间引用?

帮助中所述的MatchesMask功能:

指示文件名是否符合 筛选器字符串。

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

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

每组以左方括号 ([) 开头,以结束结束 方括号 (])。括号之间是集合的元素。每 元素是文字字符或范围。范围由 初始值、短划线 (-) 和最终值。不要使用空格或 逗号分隔集合的元素。一个集合必须与单个匹配 字符串中的字符。如果字符是 与集合中的文字字符之一相同,或者如果它在一个 集合中的范围。如果字符与 初始值、最终值或介于两个值之间。都 比较不区分大小写。如果第一个字符之后的 集合的左括号是感叹号 (!),然后集合 匹配不在集合中的任何字符。

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

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

注: 文件名参数不需要是文件名。MatchesMask 可用于根据任何语法检查字符串 正确的面具。

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

现代编程语言提供了允许对模式进行匹配的正则表达式引擎。

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);
        }
    }
}

您可以参考以下链接作为快速参考

  • http://www.dotnetperls.com/regex-match(以上示例来自本网站)
  • http://www.mikesdotnetting.com/Article/46/CSharp-Regular-Expressions-Cheat-Sheet(快速备忘单 - 非常方便)
  • http://msdn.microsoft.com/en-us/library/ms228595(v=vs.80).aspx(MS 编程参考)
您可以使用

System.Text.RegularExpressions将数据与正则表达式进行比较以实现掩码