gpt4 book ai didi

java - 为什么此正则表达式不从字符串中删除所有 3 个或更多出现的地方?

转载 作者:行者123 更新时间:2023-12-01 20:56:32 24 4
gpt4 key购买 nike

这个正则表达式有点问题。我正在尝试接受输入并删除所有 3 次或以上出现的字母。

代码

String input = "hhheeeelllooo";
System.out.println(input.replaceAll("(.)\\1{3,}", "$1"));

实际输出

hhhelllooo

预期输出

hheelloo

最佳答案

您的模式不匹配 3 次或更多次出现:它匹配 4 次或更多次出现 - 第一次出现,以及同一字符的后续 3 次或更多次出现。

如果您希望匹配 3 个或更多,请将 {3,} 更改为 {2,},并将 $1 更改为$1$1 保留输出中的前两个匹配项。

Ideone demo

关于java - 为什么此正则表达式不从字符串中删除所有 3 个或更多出现的地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42261861/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com