Java REGEX:从被许多可选组包围的特定组获取信息
假设我有一个正则表达式,它匹配如下字符串:Java REGEX:从被许多可选组包围的特定组获取信息,java,regex,capturing-group,Java,Regex,Capturing Group,假设我有一个正则表达式,它匹配如下字符串: (A)(B)?(C)(D)?(E)(F)? 其中B、D和F组是可选的 我怎样才能得到组E?我这样问是因为,我不认为我可以直接打电话给M.group(5),因为如果我的匹配者(M)没有找到B组和D组,那么E组实际上是第3组,而不是第5组 不过我确实有个主意。如果我这样做: ((A)(B)?(C)(D)?)(E)(F)? 如果A、B、C和D都是第一组,我可以打电话给第二组得到E吗 多谢各位 事实上,您可以直接调用M.group(5),因为可选的捕获组将
(A)(B)?(C)(D)?(E)(F)?
其中B、D和F组是可选的
我怎样才能得到组E
?我这样问是因为,我不认为我可以直接打电话给M.group(5),因为如果我的匹配者(M)
没有找到B组和D组,那么E组实际上是第3组,而不是第5组
不过我确实有个主意。如果我这样做:
((A)(B)?(C)(D)?)(E)(F)?
如果A、B、C和D都是第一组,我可以打电话给第二组得到E吗
多谢各位 事实上,您可以直接调用M.group(5),因为可选的捕获组将匹配null,根据这一点。哦,我尝试过了,它成功了!我只是在学习正则表达式,所以我不知道--非常感谢!欢迎来到堆栈溢出!如果我的回答有助于解决你的问题,请考虑把它标记为。这是表示你的问题已“解决”并感谢帮助你的人的惯常方式。