Heim >Backend-Entwicklung >PHP-Tutorial > 【正则】为何这写也有效呢

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

WBOY
WBOYOriginal
2016-06-13 12:59:47891Durchsuche

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

本帖最后由 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 哈哈。
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn