我正在尝试Regex 101
的测验在任务6中,问题是
哦不!看来我的朋友昨晚在我的键盘上洒了啤酒,现在我的钥匙非常粘。有些时候我按一个键,我得到两个重复。你可以p pp l ll ea aa se ee 帮我解决这个问题吗?应删除粗体内容。
我试过this regex
([a-z])(\1{2})
但无法得到解决方案。
答案 0 :(得分:3)
如果您想要匹配三个字符,那么您的正则表达式是正确的。如果你想匹配至少三个,那就是
([a-z])(\1{2,})
或
([a-z])(\1\1+)
由于除了第一次出现之外你不需要捕捉任何东西,所以这些稍微好一些:
([a-z])\1{2} # your original regex (exactly three occurences)
([a-z])\1{2,}
([a-z])\1\1+
现在,替换应该是角色的一个出现,仅此而已:
\1
答案 1 :(得分:2)
该网站上的谜语解决方案是:
/(.)\1{2}/g
由于键盘上的任何键都会卡住,因此我们需要使用.
。
\1
表示匹配 1 st捕获组(.)
匹配的任何内容。
替换为$1
或\1
。
你的正则表达式的其余部分是正确的,只是有不必要的捕获组。
答案 2 :(得分:1)
替换:
(.)\1+
使用:
\1
这当然要求您的正则表达式引擎支持反向引用...此外,在替换部分中,根据正则表达式引擎,\1
可能必须写为$1
。
答案 3 :(得分:0)
我是用(\w)(\1+)?
做的,但无法找到如何去除"删除"在给定的网站内......
最好的方法是用空字符串替换secound匹配的结果