2015-08-28 40 views
2

以下正則表達式用於驗證本地驅動器路徑。正則表達式本地路徑文件驗證

(^(?:[a-zA-Z]:|(\\\\|\/\/)[\w\.]+(\\|\/)[\w.$]+)((\\|\/)|(\\\\|\/\/))(?:[\w ]+(\\|\/))*\w([\w. ])+$) 

http://regexr.com/3bm2i

的問題是,它允許以下:

Z:\daily\Test 
Z:\daily\Test.d ocx 

正則表達式應該最後一個斜線之後需要一個點,也不允許在文件擴展空間(即)在最後一個點之後。

任何幫助,將不勝感激。

謝謝。

回答

0

此正則表達式做的招數:

(^(?:[a-zA-Z]:|(\\\\|\/\/)[\w\.]+(\\|\/)[\w.$]+)((\\|\/)|(\\\\|\/\/))(?:[\w ]+(\\|\/))*\w([\w. ])+[\.][a-zA-Z]+$) 
+0

可正常工作。謝謝。 – Rumeth

0

試試這個:

(^(?:[a-zA-Z]:|(\\\\|\/\/)[\w\.]+(\\|\/)[\w.$]+)((\\|\/)|(\\\\|\/\/))(?:[\w ]+(\\|\/))*\w([\w.])+\.\w+$) 
1

,我不會建議使用正則表達式這是路徑依賴上它會被使用的文件系統。

您應該只做一些基本檢查,並處理異常(如果有的話)。

一個正則表達式一樣簡單,如下就足夠了:

[.][^\ .]+$ //would check if the path has extention