当前位置: 代码迷 >> PHP >> 【正则】为何这写也有效呢
  详细解决方案

【正则】为何这写也有效呢

热度:103   发布时间:2016-04-28 22:28:12.0
【正则】为什么这写也有效呢?
本帖最后由 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$”?


------解决方案--------------------
最好读一下文件的头信息,服务器端验一下文件的真实性~
引用:
引用:推荐一个函数, pathinfo();
PHP code?1/^\w+\.(rar
------解决方案--------------------
zip
------解决方案--------------------
7z)$/i
这么写就没问题了,o(∩_∩)o 哈哈。
  相关解决方案