2011-12-13 51 views
0

我想找到動態子文件夾名使用正expression.For例如文件路徑我的本地文件路徑如何使用正則表達式在本地文件路徑中查找動態子文件夾名稱?

E:\當前項目\正則表達式 樣品\幹線\ TestApplication \上傳\ Dynamicfolder123 \ EncryptedFile \

我想子文件夾名Dynamicfolder123

我的代碼:

string [email protected]"E:\Current Project\Regex Samples\trunk\TestApplication\Uploads\Dynamicfolder123\EncryptedFile\"; 
Match oMatch =Regex.Match(strvalue,@"^Uploads\(.*?)\EncryptedFile\",RegexOptions.IgnoreCase); 
if (oMatch.Success) 
    { 
    MessageBox.Show(oMatch.Value); 
    } 
+1

如果問題是「爲什麼不匹配成功」,我認爲這是因爲'@「^上傳中的'^'等 - 這意味着它只會匹配在開始時輸入字符串和'Uploads'不在起始位置 – Rawling

+1

你可以在System.IO.Directory.GetParent(strvalue).Parent.Name'中使用它,它可以根據需要產生適當的異常 –

回答

0

我很驚訝沒有人回答這個問題。

string path = @"E:\Current Project\Regex Samples\trunk\TestApplication\Uploads\Dynamicfolder123\EncryptedFile\"; 

string pattern [email protected]" 
(?:Uploads\\)  # Match but don't capture Uploads\ 
(?<Dynamic>[^\\]+) # Extract directory into named capture Dynamic 
"; 

// IgnoreWhitespace allows us to comment the pattern, does not affect regex processing. 
Console.WriteLine (Regex.Match(path, 
           pattern, 
           RegexOptions.IgnorePatternWhitespace) 
         .Groups["Dynamic"].Value); 

/* Output 
Dynamicfolder123 
*/ 
相關問題