标签: java regex capturing-group
假设我有一个匹配如下字符串的正则表达式:
(A)(B)?(C)(D)?(E)(F)?
其中B,D和F组是可选的。
如何才能获得群组E?我问这个因为,我认为我不能只调用M.group(5),因为如果我的匹配器(M)没有找到B组和D组,那么组E实际上是组3而不是组5。 / p>
E
M.group(5)
(M)
我确实有一个想法。如果我做了类似的事情:
((A)(B)?(C)(D)?)(E)(F)?
其中A,B,C和D都是组1,我可以调用组2来获得E吗?
谢谢。
答案 0 :(得分:2)
实际上,你可以只调用M.group(5),因为根据fiddle,可选的捕获组将匹配null。