【发布时间】:2013-10-03 03:35:03
【问题描述】:
给定一个包含重复字符的字符串,删除相邻重复字符的正确正则表达式是什么? 我无法弄清楚如何使用反向引用来编写最终输出。 例如。 输入:“1111112222223333344444111”; 输出:“12341”
【问题讨论】:
-
放上你到目前为止一直在尝试的东西。
给定一个包含重复字符的字符串,删除相邻重复字符的正确正则表达式是什么? 我无法弄清楚如何使用反向引用来编写最终输出。 例如。 输入:“1111112222223333344444111”; 输出:“12341”
【问题讨论】:
你可以用这个:
pattern: (.)\g{1}+
replacement: $1
或者这个:
pattern: (.)\K\g{1}+
没有什么可以替换的
php 示例:
preg_replace('~(.)\K\g{1}+~', '', '1111112222223333344444111');
【讨论】: