我怎样才能找到匹配主题的模式?

时间:2014-11-03 00:00:59

标签: php regex

假设我有一个模式数组

array(
       '/foo\d+/',
       '/bar\d+/',
       '/baz\d+/'
      )

而且我知道只有一种模式会匹配主题,例如foo12

我如何确定哪种模式匹配?

我是否必须使用preg_match循环遍历数组?

或是否有使用preg_replace_callback或其他东西的更好的解决方案?

1 个答案:

答案 0 :(得分:3)

为什么不这样做

preg_match('/(foo|bar|baz)\d+/', $input, $match);

然后$match[1]会有您的命名位foobarbaz,然后这样说

switch( $match[1] ){
    case 'foo':

    break;
    case 'bar':

    break;
    case 'baz':

    break;

} 

等..