Preg替换get only字母表



我的输入KWT1234KasT123和我的预期输出KWT,但我得到了KWTKT

我想在第一组大写字母后停下来。我尝试使用以下代码。

<?php
 $number = 'KWT1234KasT123';
echo preg_replace_callback('/[^A-Z]+/',function($v){
    $v = str_replace($v, '', $v);
    return $v[0];
  },$number
);
?>

preg_match不是全局的,因此它将在第一次匹配后停止。尝试:

$number = 'KWT1234KasT123';
preg_match('/[A-Z]+/',$number, $matches);
echo $matches[0];

输出:

KWT

如果你想找到每一组大写字母,你可以使用preg_match_all

最新更新