我有那个字符串:$text=70ac0f2e7247e9a658f71fe6362bf53
我想只用第一个数字替换所有连续数字。例如,我想将 70 替换为7,将 7247 替换为7,将 658 替换为6,依此类推。
我有这种模式:$pattern = '/[0-9]{2,}/';
但我不知道如何构建$replacement
和 preg_replace 来制作:
preg_replace ($pattern2,$replacement,$text3);
谢谢!
答案 0 :(得分:1)
将我的评论转化为答案,您需要使用捕获组:
preg_replace('/([0-9])[0-9]*/', '$1', $text3);
或者像@ chris85所说的那样你可以选择匹配重置器\K
:
preg_replace('/[0-9]\K[0-9]*/', '', $text3);