【问题标题】:how to use preg_replace for the following pattern如何将 preg_replace 用于以下模式
【发布时间】:2015-11-08 13:52:57
【问题描述】:

输入:“abbbcdaa” 输出:“abcd”

使用下面的正则表达式,输出是 abcda

preg_replace('/(.)\\1*/', '$1', "abbbcdaa");

如何使用pre_replace获取abcd

【问题讨论】:

  • 没有正则表达式:echo implode("", array_unique(str_split($str)));

标签: regex string preg-replace


【解决方案1】:

应该这样做:

$string="abbbcdaa";
echo preg_replace('/(.)(?=.*?\1)/','',$string);

以上输出:

bcda

或者,您可以使用:

echo count_chars($string,3);

这也将返回唯一字符abcd

祝你好运!

【讨论】:

  • 你能解释一下这部分正则表达式吗(?=.*?\1)
  • 这是一个前瞻(谷歌环顾四周)。仅当该字符稍后再次出现在字符串中时,整个正则表达式才会从输入字符串中删除该字符。另外,请看这里:stackoverflow.com/questions/2582940/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多