我对正则表达式有疑问,我无法理解为什么函数在返回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;
答案 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 __^ __^
但是你并不清楚你想要匹配的东西。