替换重复模式regex

  • 本文关键字:regex 模式 替换 regex
  • 更新时间 :
  • 英文 :


我需要查找并替换字符串中的重复模式。更糟糕的是,我需要一个字符串,比如:

Test - - - - - - - - - - - test

成为

Test - test

但由于我不知道这个模式重复了多少次,我找不到答案。我得到的最接近的是:

((- -)|( - ))+?

但它在上面的例子中失败了。

我在上得到的另一个"几乎"的结果

([- ]+?)1+

但第二个匹配(我不想要(:

test   ---- test

有什么办法吗?

根据我的评论:

(s-)+

替换为$1。参见此处

在您尝试((- -)|( - ))+?的第一个模式中,您得到了多个匹配,使得量词+?不贪婪。

在第二模式([- ]+?)1+中,字符类[- ]+被重复,其可以多次匹配相同的字符。


您可以匹配单个连字符,并重复匹配空格和连字符1次以上,以获得不分组的连续匹配。

-(?: -)+

更换时使用-

Regex演示

最新更新