正则表达式将出现的两个字符替换为一个。

Man*_*ngh 1 php regex

我正在尝试实现一个正则表达式,它将出现的两个或多个字符替换为一个。但我不知道该怎么做。

这是我的字符串

   example--of---string.
Run Code Online (Sandbox Code Playgroud)

我需要一个正则表达式,它会给我这样的输出

  example-of-string.
Run Code Online (Sandbox Code Playgroud)

这在正则表达式中是否可能,php.ini中的preg_replace

或者我需要通过数组访问元素并检查下一个字符,如果是则跳过 -

请建议我

Vas*_*kis 5

正则表达式

(.)\1+
Run Code Online (Sandbox Code Playgroud)

这将拾取任何重复两次以上的相同字符。不仅仅是破折号。

替换字符串

\1
Run Code Online (Sandbox Code Playgroud)

在线演示

http://regex101.com/r/rF3bK5