java中删除带空格重复字母的正则表达式

java中删除带空格重复字母的正则表达式,java,regex,Java,Regex,我需要一些理解正则表达式的帮助。我正在尝试建立一些聊天过滤器来删除垃圾邮件 到目前为止,我已经有了(?它将捕获'aaaa' 我需要帮助的地方是找到一个能抓住“a”的 请一些人给我指引正确的方向好吗?非常感谢。根据上面的评论,这种模式应该是你想要的: ^(+?)(?>(?:\1 |)++)$“我正在尝试构建一些聊天过滤器来删除垃圾邮件”已经失败了。根据我的正则表达式测试仪,这不起作用。很抱歉,有点小错误。它应该使用+而不是*,所以:(.+?)(?>\1+)@CAustin。删除任何与此模式匹配的内

我需要一些理解正则表达式的帮助。我正在尝试建立一些聊天过滤器来删除垃圾邮件

到目前为止,我已经有了
(?它将捕获'aaaa'

我需要帮助的地方是找到一个能抓住“a”的


请一些人给我指引正确的方向好吗?非常感谢。

根据上面的评论,这种模式应该是你想要的:


^(+?)(?>(?:\1 |)++)$

“我正在尝试构建一些聊天过滤器来删除垃圾邮件”已经失败了。根据我的正则表达式测试仪,这不起作用。很抱歉,有点小错误。它应该使用
+
而不是
*
,所以:
(.+?)(?>\1+)
@CAustin
。删除任何与此模式匹配的内容时会发生什么情况?它应该只留下重复字符串的一个副本。是的,在这种情况下,事情将变得更加棘手。请尝试一下:
^(.+?)(?>(?:\1 |)+)$