用Regex/PHP将连续数字替换为字符串中的第一个数字

用Regex/PHP将连续数字替换为字符串中的第一个数字,php,regex,Php,Regex,我有那个字符串:$text=70ac0f2e7247e9a658f71fe6362bf53 我想用第一个数字替换所有连续的数字。例如,我想将70替换为7,7247替换为7,658替换为6,依此类推 我有这个模式:$pattern='/[0-9]{2,}/';但我不知道如何构建$replacement和preg_replacement,以便: preg_replace ($pattern2,$replacement,$text3); 谢谢大家! 将我的评论转化为答案,您需要使用一个捕获组: pr

我有那个字符串:$text=70ac0f2e7247e9a658f71fe6362bf53

我想用第一个数字替换所有连续的数字。例如,我想将70替换为7,7247替换为7,658替换为6,依此类推

我有这个模式:$pattern='/[0-9]{2,}/';但我不知道如何构建$replacement和preg_replacement,以便:

preg_replace ($pattern2,$replacement,$text3);

谢谢大家!

将我的评论转化为答案,您需要使用一个捕获组:

preg_replace('/([0-9])[0-9]*/', '$1', $text3);
或者像@chris85所说的,您可以使用匹配重置器\K:


尝试preg_替换“/\d\d*/”、$1、$text3;甚至\d\K\d*非常感谢@revo!
preg_replace('/[0-9]\K[0-9]*/', '', $text3);