0

我开始接触 PHP 中的正则表达式并陷入困境。

我写了以下块: -

$object = "ng_amg_gt-1";

switch ($object)
{
    case preg_match('/^ng_amg_gt-[0-9]+$/', $object):
        echo 'first';    
        break;

    case preg_match('/^ng_amg_gt-_cg-[0-9]+$/', $object):
        echo 'second';
        break;

}

我认为 "ng_amg_gt-1" 会匹配 preg_match('/^ng_amg_gt-[0-9]+$/', $object) 但有趣的是(很讨厌)它正在回显second

我错过了什么?

PS :- 这似乎是一个显而易见的问题,但没有取得任何突破,这就是我在这里发布它的原因。

谢谢

4

2 回答 2

2

我错过了什么?

这是你错过的:

$object = "ng_amg_gt-1";

if(preg_match('/^ng_amg_gt-[0-9]+$/', $object)) {
    echo 'first';
} else if(preg_match('/^ng_amg_gt-_cg-[0-9]+$/', $object)) {
    echo 'second';
}
于 2012-05-25T18:27:42.433 回答
1

preg_match 返回模式匹配的数量,并将其与字符串进行比较

于 2012-05-25T18:29:02.670 回答