非常简短的问题,有可能提取由Matcher找到的组号吗?
例如,这是我的代码:
Pattern k = Pattern.compile("(рис.\\s(\\d+)|[Рр]исунок\\s(\\d+)|[Рр]исунку\\s(\\d+)|fig.\\s(\\d+)|[fF]igure\\s(\\d+))");
Matcher m = k.matcher(DOMNode.getTextContent());
while(m.find()) {
domElement.setAttribute("rid", "fig" + m.group(!1));
}
有了这种模式,我可以获得几场完整的比赛。它们将被分组为匹配1:组1,组2;匹配2:组1,组3;比赛3:第1组,第4组
我想从第二组追加DOM元素属性。在周期中,它将是第一场比赛的第2组,第二场比赛的第3组等。
答案 0 :(得分:1)
您可以从第2组开始遍历所有组,找到第一个非空组并填充您的dom:
while(m.find()) {
for (c=2; c<=m.groupCount(); c++) {
if (m.group(c) != null) {
domElement.setAttribute("rid", "fig" + m.group(c));
break;
}
}
}