我需要一个正则表达式,只允许使用.txt
或没有扩展名的文件。
例如:c:\document\assignment\test.txt
或c:\document\assignment\testing
这就是我到目前为止:
^[a-zA-Z]:(\\\\[a-zA-Z0-9\\p{Space}[\\p{Punct}&&[^\\Q\\/:*?\"<>|\\E]]\\(\\)]+[^\\.])+(?=(\\.txt|\\.TXT))(\\.txt|\\.TXT)$
上述内容仅适用于.txt
,但不适用于没有扩展名的文件。
答案 0 :(得分:0)
正则表达式需要不区分大小写的标志,并且应该适用于大多数正则表达式引擎风格。
^(?:[a-z]:|\\|\.{1,2})(?:\\[^<>:"/\\|?*.]+)+(?:\.txt)?$
正则表达式通过匹配以下子模式来生成匹配。
.txt
如果您不需要unc路径或相对路径,则可以通过将第一个捕获组更改为a-z
来简化表达式。您可以通过更改最后一个捕获组来添加更多扩展。例如,(?:\.(txt|exe|com)?
将匹配.txt
,.exe
或.com
。