![](/img/trans.png)
[英]What is the equivalent of ? in MatchesMask of delphi in regular expression?
[英]What is the C# equivalent of the Delphi MatchesMask function?
C#.NET中的Delphi MatchesMask
函數等效於什么? 如何使用它,以及需要包含哪個命名空間引用?
MatchesMask
函數,如幫助中所述:
指示文件名是否符合過濾字符串指定的格式。
調用MatchesMask以使用Mask參數描述有效值來檢查Filename參數。 有效的掩碼由文字字符,集合和通配符組成。
每個文字字符必須與字符串中的單個字符匹配。 與文字字符的比較不區分大小寫。
每組都以一個中括號([)開始,以一個中括號(])結尾。 括號之間是集合的元素。 每個元素都是文字字符或范圍。 范圍由初始值,破折號(-)和最終值指定。 不要使用空格或逗號分隔集合中的元素。 集合必須與字符串中的單個字符匹配。 如果該字符與集合中的文字字符之一相同,或者位於集合中的范圍之一內,則該字符與該集合匹配。 如果字符與初始值,最終值匹配,或者介於兩個值之間,則該字符在范圍內。 所有比較均不區分大小寫。 如果集合開頭括號后面的第一個字符是感嘆號(!),則該集合與集合中未包含的任何字符匹配。
通配符是星號(*)或問號(?)。 星號匹配任意數量的字符。 問號與單個任意字符匹配。
如果字符串與掩碼匹配,則MatchesMask返回true。 如果字符串與掩碼不匹配,則MatchesMask返回false。 如果掩碼在語法上無效,則MatchesMask會引發異常。
注意: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
將數據與正則表達式進行比較以實現掩碼
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.