错误的preg_match - php

时间:2015-11-09 12:50:54

标签: preg-match

我对正则表达式有疑问,我无法理解为什么函数在返回0时返回1,因为字符串与正则表达式不匹配。

$t = preg_match("/DOC|doc|doc_[IVXCL]{1,6}_[A-Z]{1}_[A-Z0-9]{2,5}\.pdf/", "DOC_TRF4_DEZ_2014.pdf");

echo $t;

1 个答案:

答案 0 :(得分:0)

它返回TRUE,因为它匹配DOC 你必须在正则表达式中对某些部分进行分组:

preg_match("/(?:DOC|doc|doc)_[IVXCL]{1,6}_[A-Z]{1}_[A-Z0-9]{2,5}\.pdf/", "DOC_TRF4_DEZ_2014.pdf");
//    here __^           __^

但是你并不清楚你想要匹配的东西。