Preg替换只获得字母表

时间:2015-11-01 18:49:01

标签: php preg-replace

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

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

<?php
 $number = 'KWT1234KasT123';

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

1 个答案:

答案 0 :(得分:3)

preg_match不是全球性的,所以它会在第一场比赛后停止。尝试:

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

输出:

KWT

如果您想查找每个大写字母组,可以使用preg_match_all