我有我的CS2教练给出一个Java正则表达式来检查,如果被重复一句话:
\\b(\\w+)\\s+\\1\\b
我怎么能修改此检查,如果一个字重复两次 ,如“你好你好你好”或“世界你好你好你好”
如果可能的话,我只是想在正确的方向指向,而不是彻底的解决方案(毕竟,我需要学习这一点)。 我想我的问题是,我不理解单词边界很好。
我有我的CS2教练给出一个Java正则表达式来检查,如果被重复一句话:
\\b(\\w+)\\s+\\1\\b
我怎么能修改此检查,如果一个字重复两次 ,如“你好你好你好”或“世界你好你好你好”
如果可能的话,我只是想在正确的方向指向,而不是彻底的解决方案(毕竟,我需要学习这一点)。 我想我的问题是,我不理解单词边界很好。
好吧,既然你似乎想学这个自己,我给你一个有用的Oracle链接。 其次,我会建议你留意你想实现的,图案有三个相同的词到底是什么。 希望帮助和效果不是太明显。 如果你需要更多的帮助评论。
编辑:对不起,我忘了第二个链接在这里。 这页也是有帮助的。
首先,你需要弄清楚你被赋予了表达的解剖结构。 它描述了捕获的字字符的非空序列的字符串(\\w+)
开始于一个字边界,其后是空格的一个非空序列\\s+
,随后捕获的基团的含量,这不是一个更长的词的一部分(也就是在什么\\b
确实在表达式的结尾)。
接下来,你需要建立一个描述“的字字符和空格可能为空序列”正则表达式。 这将是(?:\\w|\\s)*
现在,你已经准备好让你的表情。 你需要以下几个部分: