我正在使用C#和Visual Studio 2010.我只是想匹配一個字符串(這是一個路徑在這種情況下),並創建一個模式,將幫助我弄清楚如果這是一個有效的模式與否。下面的例子是由任意組成的,但他們確實包含模式匹配路徑+文件(UNC?)
所以我想創建一個模式,將匹配一個UNC路徑進入一個字符串。例如:
"\\\\Apple-butter27\\AliceFakePlace\\SomeDay\\Grand100\\Some File Name Stuff\\Yes these are fake words\\One more for fun2000343\\myText.txt"
以上就是我想要模式匹配的文件路徑的一個例子。我試圖用這個模式匹配它:
@"\\\\[a-zA-Z0-9-]+\\\w+\\\w+\\\w+\\((\w+)*(\s+)*)*\\((\w+)*(\s+)*)*\\((\w+)*(\s+)*)*\\w+\.txt";
我保證的廣告事情是會有7個文件夾,直到我達到我的文件(S)。我將不得不爲所有細分市場尋找空格,字母和數字組合。
我曾嘗試通過小位開始匹配,如我的測試中第一次迭代我想這是我的模式:
@"\\\\";
而且這個工程,因爲它會匹配前幾個字符,但如果我添加這對它:
@"\\\\[a-zA-Z0-9-]+";
它失敗。所以我想也許是因爲字符串導致它翻倍,所以我可能不得不加倍我的「\」,所以我再次用8「\」來嘗試,但是失敗了。
我與以前的模式的目標是匹配「\\\\蘋果butter27」
我一直在尋找對谷歌和所有在這個網站,但沒有一個模式匹配UNC的東西,我發現是我的問題。
我真的很感激,如果有人能告訴我我在做什麼這個模式錯了。至少有一個起點,因爲我知道這很長,可能會是一個非常複雜的問題......但是如果有人能指出一些普通的東西是錯誤的。
雖然,因爲它是在非字符串狀態的路徑,它看起來是這樣的:
\\Apple-butter27\AliceFakePlace\SomeDay\Grand100\Some File Name Stuff\Yes these are fake words\One more for fun2000343\myText.txt
我新的嘗試模式與UNC路徑匹配,所以它開始真正迷惑我,所以如果有人能照亮方式,我會很感激。
我正在使用。成功正則表達式的函數來查看模式是否匹配,如果匹配成功或失敗,我只是在打印消息。我的主要焦點是模式,除非有一些很好的洞察力,將解決方案的字符串用作路徑而不是字符串。
我會建議不要總是假設正則表達式是所有問題的最佳工具!由於您的假設,這是[XY問題](http://meta.stackexchange.com/a/66378)。 –
我在想Regex是我的解決方案。我想驗證路徑是否是某種特定的方式,如果不是這樣,我希望它停止沿某個文件路徑前進,並繼續向其他人查找它想要的信息。 – user3003304