2015-09-05 84 views
-2

我得把有關文件夾處理項目,我想控制文件格式真或假像如何使用正則表達式控制格式文件夾?

CustomerFile-2015-07-30T1510.txt 

我怎麼可以做正則表達式?

這個函數全部返回false?

public bool validateFileExpression() 
    { 
     var regExp = @"-\d{4}-\d{2}-\d{2}T\d{4}\.txt$"; 
     var fileName = "d:\\CustomerFile-2015-07-30T1510.txt"; 
     Regex regex = new Regex(regExp); 
     if (regex.IsMatch(fileName)) 
     { 
      return true; 
     } 
     else 
     { 
      return false; 
     } 
    } 
+0

這不是完全清楚你想在這裏做什麼,或者確切地說你正在使用什麼工具。也許編輯這個問題使之更清晰? – AJFaraday

+0

@AJFaraday我想檢查文件夾格式,如某些名稱 - 日期和.txt 這是真或假返回功能 – MrtDev

+0

您打算使用哪種語言? – Arturo

回答

0

如果文件總是有文字「CustomerFile」,並在同一格式的日期,

^CustomerFile-\d{4}-\d{2}-\d{2}T\d{4}\.txt$ 


編輯:問題
指定的新標準所提供的唯一條件檢查是否以給定格式的日期結束,

-\d{4}-\d{2}-\d{2}T\d{4}\.txt$ 
+0

@Marino文字是可改變的 – MrtDev

+0

如果任何字符是允許的,並且您需要測試的是它以日期' - \ d {4} - \ d {2} - \ d {2} T \ d {4} \。txt $''' – Mariano

+0

結束。您能編輯您的問題以指定應該滿足的條件嗎? – Mariano

0

幾個建議。 (不直接關係到你的正則表達式,看起來正確的方式)。

(1)不要一遍又一遍地創建正則表達式對象,如果你正在調用這個方法,這會減慢你的速度。

(2)您只需返回檢查結果:無需if

const string _regExp = @"-\d{4}-\d{2}-\d{2}T\d{4}\.txt$"; 
Regex _regex = new Regex(_regExp); 

public bool validateFileExpression(string fileName) 
{ 
    return _regex.IsMatch(fileName); 
} 

我知道這只是一個演示代碼,可能沒有在意,但是我雖然好東西會出來的吧..