Получить массив строк, сопоставив шаблон в данной строке - PullRequest
4 голосов
/ 10 ноября 2009

У меня есть шаблон @@{}, и по заданной строке мне нужно выяснить все строки между фигурными скобками.

Пример: Если моя строка Hi This is @@{first} and second is @@{second} along with third @@{third} string

Ожидаемый вывод - строковый массив, состоящий из элементов:

first   
second  
third

Мой код Java для этого выглядит так:

Pattern p = Pattern.compile("\\@\\@\\{(.+?)\\}");    
Matcher match = p.matcher("Hi This is @@{first} and second is @@{second} along" +
                          "with third @@{third} string");
while(match.find()) {
    System.out.println(match.group());   
}

Но вывод, который я получаю,

@@{first}   
@@{second}  
@@{third}

Пожалуйста, подскажите, как получить желаемый результат и какую ошибку я делаю

1 Ответ

7 голосов
/ 10 ноября 2009

Измените match.group() на match.group(1). Кроме того, @ не нужно убегать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...