Я пытаюсь написать регулярное выражение для использования в Java-программе, которая распознает шаблон, который может появиться на входе неизвестное количество раз.Мой маленький глупый пример:
String patString = "(?:.*(h.t).*)*";
Затем я пытаюсь получить доступ к совпадениям из строки типа "хижина горячая", просматривая matcher.group (i).Он запоминает только последнее совпадение (в данном случае «горячее»), потому что существует только одна группа захвата - я предполагаю, что содержимое matcher.group (1) перезаписывается при повторном использовании группы захвата.Однако мне нужен какой-то массив, содержащий и «хата» и «горячий».
Есть ли лучший способ сделать это?Кстати, то, что я действительно пытаюсь сделать, это подобрать все (возможно, многословные) собственные существительные после сигнального слова, где между ними могут быть другие слова и знаки препинания.Поэтому, если «увидел» - это сигнал, и мы имеем «я видел Боба с Джоном Смитом и его женой Маргарет», я хочу {«Боб», «Джон Смит», «Маргарет»}.