我是Java新手,正在尝试学习捕获组的概念。我读了Java教程oracle:
对于嵌套捕获组,反向引用的工作方式完全相同 方式:指定反斜杠后跟要编号的组编号 召回。
由于我的经验不足,我无法从概念上理解它,本教程没有提供任何代码示例。有人可以向我解释这个概念,最好是用一些代码吗?在此先感谢您的任何帮助
答案 0 :(得分:0)
我认为他们正在谈论这个
( # (1 start)
nested
( # (2 start)
groups
) # (2 end)
) # (1 end)
\s
( # (3 start)
\1
\s
\2+
) # (3 end)
您可以看到第1组也包含第2组。
然后,您可以使用反向引用来引用组1中匹配的内容 这也将包含第2组中匹配的内容。
** Grp 0 - ( pos 0 , len 38 )
nestedgroups nestedgroups groupsgroups
** Grp 1 - ( pos 0 , len 12 )
nestedgroups
** Grp 2 - ( pos 6 , len 6 )
groups
** Grp 3 - ( pos 13 , len 25 )
nestedgroups groupsgroups