我想在我的应用程序中包含批处理文件重命名功能.用户可以键入目标文件名模式和(在替换模式中的一些通配符之后)我需要检查它是否是Windows下的合法文件名.我试过使用正则表达式,[a-zA-Z0-9_]+但它不包括来自各种语言的许多国家特定字符(例如变音符号等).做这种检查的最佳方法是什么?
有没有办法Qt 4.6检查给定的QString是当前操作系统上的有效文件名(或目录名)?我想检查名称是否有效,而不是文件存在.
例子:
// Some valid names
test
under_score
.dotted-name
// Some specific names
colon:name // valid under UNIX OSes, but not on Windows
what? // valid under UNIX OSes, but still not on Windows
Run Code Online (Sandbox Code Playgroud)
我怎么做到这一点?有一些Qt内置功能吗?
我想避免创建一个空文件,但如果没有其他可靠的方法,我仍然希望看到如何以"干净"的方式做到这一点.
非常感谢.