以下のコードから::関係を次のように抽出したい
アモッド デリー nsubj 首都デリー .....等 [amod(デリー-2、-1)、nsubj(キャピタル-5、デリー-2)、警官(キャピタル-5、イズ-3)、 det(大文字-5, the-4), root(ROOT-0, 大文字-5), prep_of(大文字-5, インド-7)]
以下のコードから::関係を次のように抽出したい
アモッド デリー nsubj 首都デリー .....等 [amod(デリー-2、-1)、nsubj(キャピタル-5、デリー-2)、警官(キャピタル-5、イズ-3)、 det(大文字-5, the-4), root(ROOT-0, 大文字-5), prep_of(大文字-5, インド-7)]
入力が本当にそのように見える場合は、これを使用できます
Pattern p = Pattern.compile("(\\w+)\\((\\w*)-\\d+,\\s(\\w*)-\\d+\\)");
//groups 1 2 3
String data = "[amod(delhi-2, -1), nsubj(capital-5, delhi-2), " +
"cop(capital-5, is-3), det(capital-5, the-4), root(ROOT-0, " +
"capital-5), prep_of(capital-5, india-7)]";
Matcher m = p.matcher(data);
while (m.find())
System.out.println(m.group(1) + " " + m.group(2) + " " + m.group(3));