正则表达式消除文件上传的双周期(..)

时间:2011-05-11 21:13:59

标签: regex

我想避免..用于图像文件。在我的验证中,正则表达式是:

%r{\.(gif|png|jpg)$}i 

用于图片网址。问题是fred..png也会通过,而不是识别双..

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

为了防止你描述的情况,这只是扩展名之前的双点:

%r{[^.]\.(gif|png|jpg)$}i 

编辑:如果你想让字符串中的.. 无处,那么在代码中最容易做到这一点(伪:if regex.matches(filename) and '..' not in filename)。

答案 1 :(得分:2)

下面可能会有什么?

%r{\.(?<!\.\.)(gif|png|jpg)$}i

执行负面观察以查看..不会发生