PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

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

原创
2016-06-13 12:59:47 676浏览

【正则】为什么这写也有效呢?

本帖最后由 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 哈哈。
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。