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)

File and Directory Names All file systems follow the same general naming conventions for an individu...
  • ronggenmiao
  • ronggenmiao
  • 2014年01月10日 14:30
  • 1739

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

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

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

1. Regular Expression [^\\/:*?"|\r\n]+$ eg. c:\foler\file.ext Extract: file.ext 2. Python Code im...
  • guaguastd
  • guaguastd
  • 2014年11月13日 09:50
  • 1707

短文件名的命名规则

我在DOS下查看短文件夹名,为什么有的是“*~1”,有的是“*~2”,1和2是怎么来的?   1)符合DOS短文件名规则的Windows下的长文件名不变。 2)长文件名中的空格,在短文件名中被删除。 ...
  • oathevil
  • oathevil
  • 2010年07月07日 01:05
  • 5250

[C/C++标准库]_[初级]_[使用正则表达式过滤Windows文件名中的非法字符]

场景1.Windows和macOS的文件名有自己的命名规则, 特别是Windows的文件名限制了不允许使用的特殊字符. 在使用这些文件名新建文件时会创建失败.说明1.在前面的文章里在Windows上我...
  • infoworld
  • infoworld
  • 2017年11月22日 21:48
  • 1148

linux目录和文件名的命名规则

在linux下可以使用长文件和目录名,可以给目录和文件取任何名字,但必须遵守以下规则: (1) 除了/之外,所有的字符都合法 (2) 有些字符最好不适用,比如空格符、制表符、退格符和字符   : ...
  • yhl_jxy
  • yhl_jxy
  • 2016年05月28日 23:24
  • 3957

JAVA文件名命名规范

JAVA语言,有严格的大小写区分要示。   JAVA源文件名必须符合以下规则: 1、必须以.java结尾。这样才能被编辑器javac.exe所编辑。 2、源文件中如果只有一个类...
  • gm826462318
  • gm826462318
  • 2017年06月04日 16:44
  • 179

JAVA源文件的命名规则

JAVA源文件的命名规则 主讲:耿祥义    文档整理:符亮源文件的命名规则是:如果源文件中有多个类,那么只能有一个类是public类;如果有一个类是public类,那么源文件的名字必须与这个类的名字...
  • fuliang_itonline
  • fuliang_itonline
  • 2007年04月17日 17:00
  • 3038

如何用python从文中获取文件名再用正则表达式批量修改文件名

新手利用python正则表达式从文件中取出文件名称给文件命名,再修改文件名以利于检索...
  • zl4546474849l
  • zl4546474849l
  • 2014年06月08日 14:39
  • 3629

用正则表达式获取文件名和路径

用正则表达式获取文件名和路径,并介绍一下正则引擎中的NFA原理
  • Hello_ok_google
  • Hello_ok_google
  • 2013年08月21日 22:11
  • 8011
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:windows下文件名命名规则的正则表达式
举报原因:
原因补充:

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