1
非常に短い質問ですが、Matcherが見つけたグループ番号を抽出することは可能ですか?例えばJava: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
2番目のグループのDOM要素属性に追加したい。サイクルでは、第2試合から最初の試合からグループ2、グループ3になるなど
あなたのグループに ''(?。*) "'というパターンをつけて、 'matcher.group(" groupId ")'を呼び出すことができます。それはより読みやすく、あなたが望むことを実行できるようにする必要があります。 –
それを覚えておいてください。この機能については知らなかった。 – Vitaliy
このようにする必要はありません。あなたは本当に試合の番号で注文を実施しているわけではありません。あなたは注文を実施しようとしている場合、あなたは1つのマッチだけを必要とします。 (?:рис。\ s(\ d +))。*?(?:[Рр]исунок\ s(\ d +))*?(?:[Рр]исунку\ s(\ d +)) 。*?(?:fig。\ s(\ d +))。*?(?:[fF] igure \ s(\ d +)) ' – sln