windows 文件命名正则
时间: 2023-11-16 09:06:28 浏览: 109
Rename-It!:Windows软件可通过正则表达式安全地重命名数千个文件。-开源
Windows 文件命名的规则如下:
1. 文件名长度不能超过 255 个字符(包括扩展名)。
2. 文件名不能包含以下字符: \ / : * ? " < > | ,即不能包含反斜杠、正斜杠、冒号、星号、问号、双引号、小于号、大于号和竖线。
3. 文件名不能以空格或者点号开头,也不能以点号结尾。
4. 文件名中的每个单词之间应该用下划线或者连字符隔开。
5. 文件名中只能使用英文字母、数字和以下特殊字符:$ % ' ` ~ ! @ # ^ & ( ) - _ + = { } [ ] ; , .
基于以上规则,可以使用以下正则表达式来验证 Windows 文件名:
```
^[^\\\/:\*\?"<>\|]{1}[^\\\/:\*\?"<>\|]*((\.[^\\\/:\*\?"<>\|]{1,})|([^\\\/:\*\?"<>\|]*))$
```
解释:
- `^` 表示字符串开始
- `[^\\\/:\*\?"<>\|]{1}` 表示第一个字符不能是反斜杠、正斜杠、冒号、星号、问号、双引号、小于号、大于号和竖线。
- `[^\\\/:\*\?"<>\|]*` 表示接下来的字符可以是任何字符,但不能是反斜杠、正斜杠、冒号、星号、问号、双引号、小于号、大于号和竖线。
- `(\.[^\\\/:\*\?"<>\|]{1,})` 表示如果文件名包含扩展名,则扩展名以点号开头,后面跟着一个或多个任何字符,但不能是反斜杠、正斜杠、冒号、星号、问号、双引号、小于号、大于号和竖线。
- `|` 表示或者,即文件名没有扩展名的情况。
- `([^\\\/:\*\?"<>\|]*)` 表示文件名没有扩展名时,文件名可以是任何字符,但不能是反斜杠、正斜杠、冒号、星号、问号、双引号、小于号、大于号和竖线。
- `$` 表示字符串结尾。
阅读全文