正则表达式\ b(\ w +)(\ W + \ 1 \ b)+中括号的用途

时间:2017-07-23 15:28:27

标签: java regex

以下正则表达式中括号的重要性是什么?

\b(\w+)(\W+\1\b)+

请解释一下,因为更改括号(无论是使用它们的顺序还是简单地删除)都会产生错误或与解决方案不匹配。

1 个答案:

答案 0 :(得分:1)

需要第二个parantheses,因为+运算符已连接到它。

例如,如果你有a+,则它匹配一个,直到无限重复字符 a ,就像这个词一样的 AAAA 即可。如果您将+与群组一起使用,则允许整个群组重复播放,例如(ab)+匹配 ababab 等字词,但 aaaabbb

第一个parantheses用作捕获组。其结果用于第二部分,其中\1与第一个捕获组的匹配匹配。

请参阅 regex101.com 中的此示例,其中还详细说明了效果:regex101.com/r/3aLdDh/1