Этот шаблон должен работать: \B(@\w+)
\B
сканирует границы без слов в передней части. \w+
уже исключает завершающий пробел. Кроме того, я также сместил скобки, чтобы @
и +
входили в правильную группу. Желательно использовать m.group(1)
, чтобы получить его.
Вот переписать:
Pattern pattern = Pattern.compile("\\B(@\\w+)");
String data = "abc@gere.com #gogasig @jytaz @tibuage";
Matcher m = pattern.matcher(data);
while (m.find()) {
System.out.println(" group " + m.group(1));
}