if WINDOWS:
if IS_WINDOWS_LINUX_SUBSYSTEM:
DIRECTORY_REGEX = '^/[a-z](/([0-9a-z_.]+?[0-9a-z_.-]*){1,}){0,}$'
else:
DIRECTORY_REGEX = '^[a-z]:(\\\\([0-9a-z_.]+?[0-9a-z_.-]*){1,}){0,}$'
else:
DIRECTORY_REGEX = '(/([0-9a-zA-Z_.]+?[0-9a-zA-Z_.-]*){1,}){1,}$'
上面的基本校验没问题...
但是没办法避免相对路径比如../ 做法是禁止出现斜杠后有../和./ 我以前写过一个类似的文件名校验的
PATHPATTERN = r'^[A-Za-z0-9]+?(?!.*?/[\.]{1,}/)([A-Za-z0-9\.\-_/])+?[A-Za-z0-9]+?$'
然后我现在看不懂了...求个最优的写法 orz
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.