我如何对pregmatch有不同的规则?

时间:2016-08-22 20:03:54

标签: php preg-replace preg-match

我们假设我们有几个输入: 1 - 西:726435632:9236
2,西:8463758:873648个
绿色:8234682:92347个
红色:98374:98374个
H09

对于我想要的输出:
1.如果它不是H,只要通过第一部分,如
1-西:283647873:86324873 ----→1 - 西

  1. 如果是以H开头的任何内容,请将HOLDING作为输出传递:
    H06 ---> HOLDING
  2. 有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

这里真的不需要正则表达式 -

    foreach ($arrayOfStrings as $row)
    {

        (if substr($row, 0, 1) == "H")
        {
            echo "Holding";
        } else {
            echo substr($row, 0, strpos($row, ":"));
        }

}

答案 1 :(得分:0)

这样的东西?

function check($string) {
    $test = preg_match('/^H./', $string);
    if ($test) {
        return 'HOLDING';
    }
    $parts = explode(':', $string);
    return $parts[0];
}

或在一行中(假设$input包含您的输入)

$output = preg_match('/^H./', $input) ? 'HOLDING' : substr($input, 0, strpos($input, ":"));