【正则】为什么这写也有效呢?
本帖最后由 php441914320 于 2012-12-10 12:28:48 编辑
匹配压缩包文件名(x.rar x.rar x.7z):
我是这么写的:
'/^\w+\.rar$|^\w+\.zip$|^\w+\.7z$/i'
登入後複製
但是后来发现这么写也可以:
'/^\w+\.rar|zip|7z$/i'
登入後複製
关于“|”这个符号的理解还是不到位啊,求指教。
关于第二个正则表达式,按我的理解应该这样执行:
比如我有已经压缩包名为“test.rar”
第一个匹配:“test.rar”匹配是失败的。
第二次匹配:应该匹配“zip”但为什么匹配了“^\w+\.zip$”?
------解决方案--------------------最好读一下文件的头信息,服务器端验一下文件的真实性~