windows下文件名命名规则的正则表达式

转载 2015年07月10日 16:34:44

搜索了不少网站也没找到合适的,还是自己学习了下正则表达式,写了一个大家供参考

 

被保留的设备名不能被用来作为文件名:CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9。这些保留设备名不能后跟一个扩展名
正则表达式为:
(?!((^(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}$)


相关文章推荐

正则表达式验证文件路径(windows)

^[a-zA-Z]:(/|]+)+$">//[^///:"这个表达式可以验证带有window非法字符的文件路径,以及带有多个连续“/”的无意义的路径。不足之处是末尾不能有“/”。欢迎网友点评!...
  • netlg
  • netlg
  • 2007年03月01日 09:25
  • 4430

windows下文件名命名规则的正则表达式

搜索了不少网站也没找到合适的,还是自己学习了下正则表达式,写了一个大家供参考 被保留的设备名不能被用来作为文件名:CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4,...

Python 正则表达式提取Windows路径中文件名

1. Regular Expression [^\\/:*?"|\r\n]+$ eg. c:\foler\file.ext Extract: file.ext 2. Python Code im...

Windows下正则表达式工具介绍:RegexBuddy

俗话说,工欲善其事,必先利其器。关于windows下的正则表达式工具,这里推荐的是:RegexBuddy和PowerGREP。在linux下,也有好用的正则表达式工具,例如grep的兄弟们,只不过是都...

利用正则表达式从文件路径中提取出文件名(包含后缀)

利用正则表达式从文件路径中提取出文件名(包含后缀) 如:

使用Qt正则表达式提取全路径的文件名

问题描述:                给定三个全路径,例如              path1="C:/Users/asus/Desktop/nefertiti_4465.obj";      ...

正则表达式概述和规则

  • 2010年07月22日 17:18
  • 23KB
  • 下载

正则表达式规则(自己学习用)

  • 2009年02月28日 16:40
  • 15KB
  • 下载

采用正则表达式获取某路径下符合特定模式字符串的文件名

(昨天晚上写了一点代码,利用中午吃饭的一点时间,整理一下,供大家参考吧。编码能力,亦如逆水行舟,不进则退。不管怎样,每天最少50行代码,一定要坚持啊。) 关于文件操作的功能定义公共的头文件 ...

正则表达式规则

  • 2014年03月01日 11:39
  • 128KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:windows下文件名命名规则的正则表达式
举报原因:
原因补充:

(最多只允许输入30个字)