正则表达式从一开始就替换重复的字符

时间:2019-03-31 19:08:50

标签: php regex

我在php中有以下正则表达式代码,它可以查找并替换所有重复的字符。

        $parts = explode("@", 'aaabbbddddeeesd@yahoo.com');
        $username = $parts[0];
        $domain = $parts[1];
        $out = preg_replace('/(.)\1+/', '$1', $username);
        $email = $out . '@' . $domain;

        print_r($email);

此代码将替换所有重复的字符,但是我只需要替换字符串开头的第一组字符即可。

示例aaabbbddddeeesd@yahoo.com我需要输出为abbbddddeeesd@yahoo.com

我尝试了不同的正则表达式,但是直到现在,它仍然有效。

谢谢

1 个答案:

答案 0 :(得分:1)

代替使用正则表达式,您可以提取用户名的第一个字符(使用$username[0]),然后将其ltrim()从字符串中提取出来,然后将其中的1个出现在后面。 / p>

$out = $username[0].ltrim($username, $username[0]);