我想找到一个单词开头重复超过三次的所有字母,例如
wwwhat
然后只保留一个重复的字母。然后在末尾添加(重复)
。
所以wwwhat
将变成what(重复开头)
。
我还想找到一个单词中重复超过三次的字母,例如
whaaat
并让它成为什么(在里面重复)
。
到目前为止我已经尝试过了
(\S+)(\w)\1{2,}(\S+)
用于在单词内重复,但不起作用。
没有像wwwhaaaat
这样的多次重复。
非常感谢!
最佳答案
您可以使用以下模式:
([a-zA-Z])\1{2,}(.*$)
([a-zA-Z])
匹配并捕获小写或大写字母。\1{2,}
匹配第一个捕获组匹配的相同字母 2 次或更多次。(.*$)
匹配并捕获字符串的其余部分。
替换为:
\1\2 (repeat)
实时检查正则表达式 here .
关于regex - 如何在单词开头或单词内部找到三个相同的字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51678165/