C#.NET中的Delphi MatchesMask
函数等效于什么?如何使用它,以及需要包含哪个命名空间引用?MatchesMask
函数,如帮助中所述:
指示文件名是否符合由a指定的格式
过滤字符串。
调用MatchesMask以使用Mask检查Filename参数
参数来描述有效值。有效的掩码由文字组成
字符,集合和通配符。
每个文字字符必须与字符串中的单个字符匹配。
与文字字符的比较不区分大小写。
每一组以一个开括号([)开始,以一个闭包结束
方括号(])。括号之间是集合的元素。每
element是文字字符或范围。范围由
初始值,破折号(-)和最终值。请勿使用空格或
以逗号分隔集合的元素。一组必须匹配一个
字符串中的字符。如果是
与集合中的文字字符之一相同,或者如果在一个字符集中
集合中的范围。如果一个字符与
初始值,最终值或介于两个值之间。所有
比较不区分大小写。如果第一个字符之后
集的开头括号是一个感叹号(!),然后集
匹配不在集合中的任何字符。
通配符是星号(*)或问号(?)。星号匹配
任何数量的字符。一个问号匹配任意一个
字符。
如果字符串与掩码匹配,则MatchesMask返回true。火柴面具
如果字符串与掩码不匹配,则返回false。火柴面具
如果掩码在语法上无效,则引发异常。
注意: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);
}
}
}
您可以参考以下链接以快速参考
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编程参考)
关于c# - Delphi MatchesMask函数的C#等效项是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11828908/