【轉】windows下檔案名稱命名規則的Regex

來源:互聯網
上載者:User

標籤:blog   http   java   strong   檔案   ar   art   div   

【轉自:http://blog.csdn.net/lsj19830812/article/details/4137003】

 

搜尋了不少網站也沒找到合適的,還是自己學習了下Regex,寫了一個大家供參考

 

被保留的裝置名稱不能被用來作為檔案 名:CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9。 這些保留裝置名稱不能後跟一個副檔名
Regex為:
(?!((^(con)$)|^(con)/..*|(^(prn)$)|^(prn)/..*|(^(aux)$)|^(aux)/..*|(^(nul)$)|^(nul)/..*|(^(com)[1-9]$)|^(com)[1-9]/..*|(^(lpt)[1-9]$)|^(lpt)[1-9]/..*)|^/s+|.*/s$)(^[^/////:/*/?/"/</>/|]{1,255}$)

 

去掉了多餘的系統檔案名稱,不能以空格為開頭和結束,不能用//:*?"<>|作為檔案名稱,檔案名稱為1-255位


在Windows NT中CLOCK$也是一個保留裝置名稱,沒用到就先不加了

 

對了,寫java程式用到的,‘/‘應該需要做兩次轉義了,其中雙引號前面的‘/‘需要寫成三個‘/‘

 

(?!((^(con)$)|^(con)//..*|(^(prn)$)|^(prn)//..*|(^(aux)$)|^(aux)//..*|(^(nul)$)|^(nul)//..*|(^(com)[1-9]$)|^(com)[1-9]//..*|(^(lpt)[1-9]$)|^(lpt)[1-9]//..*)|^//s+|.*//s$)(^[^/////////://*//?///"//<//>//|]{1,255}$)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.