Мне нужно извлечь слово, следующее за 'NN' в этом конкретном предложении?
(ROOT (SBARQ [26.015] (WHNP [1.500] (WP [1.051] What)) (SQ[23.912] (VBZ[2.669]'s)
(NP [19.076] (PRP$ [3.816] your) (NN [9.843] thought))) (. [0.002] ?)))
Итак, когда я анализирую это .. используя Regex, мне нужно извлечь только слово 'think' .
Как мне это сделать?
Мой код:
String pattern = "\NN \[[0-9]+(?:\.[0-9])?\] (.)\)";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(st); while(m.find()) {System.out.println(m.group());}
output: (NN [9.843] thought))) (. [0.002] ?)))
Но я хочу только 'мысль'
Ответ:
Понял :-) спасибо людям.
String pattern = "NN \\[.*] (\\w+)";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(st);
while(m.find())
{System.out.println(m.group(1));}
вывод : мысль