You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整Python图片文件名校验正则,实现长度、特殊字符、格式限制

图片文件名校验正则修正方案

需求确认

  • 文件名总长度不超过20个字符
  • 文件名不得包含*、'、%、$、^、&、.、@、#、!、~等特殊字符
  • 仅支持jpg、jpeg、png、gif、bmp、webp格式的图片

修正后正则

^(?![\s\S]{20})[^*'%$^&.@#!~]+\.(?:gif|png|jpe?g|bmp|webp)$

如果你的长度要求是「总长度最大为20」(含后缀部分),可以调整断言部分适配:

^(?![\s\S]{21})[^*'%$^&.@#!~]+\.(?:gif|png|jpe?g|bmp|webp)$

规则说明

  • ^、$:分别匹配字符串的开始和结束位置,避免前后存在多余无效字符
  • (?![\s\S]{20}):负向先行断言,字符串总长度达到20时直接校验失败,默认限制总长度≤19
  • [^*'%$^&.@#!~]+:匹配除禁用特殊字符外的任意字符至少1次,确保文件名主体不含违规字符
  • \.(?:gif|png|jpe?g|bmp|webp):匹配合法图片后缀,非捕获组不会生成额外匹配结果,性能更优

注:上述规则默认文件名主体不允许出现.,仅后缀前保留唯一的.,完全符合你提出的特殊字符禁用要求。

内容的提问来源于stack exchange,提问作者GH00N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 22:24:03