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

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

MatchesMask函数如帮助中所述:

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

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

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

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

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

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

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

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

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

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

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