[英]How to set windows path regex pattern?
我有一個路徑列表,我需要一個匹配的文件,所有C:\\Program Files\\_folder_\\_folder_\\etc
都以C:\\Program Files\\_folder_\\_folder_\\etc
,然后具有Windows路徑可以使用的任何數量和任何類型的字符。 這是我的處理方式,盡管我猜這僅允許使用字母數字字符:
string pathPattern = @"C:\Program Files\_folder_\_folder_\etc[0-z]*";
if (System.Text.RegularExpressions.Regex.IsMatch(myList[n], pathPattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase)
{
//some action
}
如果C:\\Program Files\\_folder_\\_folder_\\etc
是預定義的部分。 我認為您可以使用Contains
無需Regex
這樣的操作
if(pathPattern.Contains(@"C:\Program Files\_folder_\_folder_\etc"))
{
//some action
}
編輯1:你可以做ToLower()
上pathPattern
var ss = pathPattern.ToLower().Contains(@"C:\Program Files\_folder_\_folder_\etc".ToLower());
1.如果您想要的路徑應該以:
C:\\ Program Files \\
然后使用下面的代碼:
if (Regex.IsMatch(code, @"[cC]{1}\:\\Program Files\\.*"))
{
\\ Do Your work
}
2.如果您想讓路徑以:
c:\\ Program Files_folder__folder_ \\
然后使用下面的代碼:
if (Regex.IsMatch(code, @"[cC]{1}\:\\Program Files\\_folder_\\_folder_\\.*"))
{
\\ Do Your work
}
描述:
試試這個正則表達式
^(?:[a-zA-Z]\:|\\\\[\w\.]+\\[\w.$]+)\\(?:[\w]+\\)*\w([\w.])+$
樣例代碼
string path = @"C:\Program Files\_folder_\_folder_\";
string pathPattern = @"^(?:[a-zA-Z]\:|\\\\[\w\.]+\\[\w.$]+)\\(?:[\w]+\\)*\w([\w.])+$"
if(System.Text.RegularExpressions.Regex.IsMatch(path, pathPattern)){
//It matches the regex
}
else
{
//it doesnot matches the regex
}
適用於這些:
\\test\test$\TEST.xls
\\server\share\folder\myfile.txt
\\server\share\myfile.txt
\\123.123.123.123\share\folder\myfile.txt
c:\folder\myfile.txt
c:\folder\myfileWithoutExtension
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.