Regex, чтобы получить строку в скобках в Java? (включая другие скобки внутри скобок) - PullRequest
0 голосов
/ 08 апреля 2019

Я хочу получить всю строку в самых первых скобках

Например, если ввод:

"1 + 2 + (1 + 2 + (1 + 2))"

Вернется

[(1 + 2 + (1 + 2))]

Если ввод:

"1 + (1 + 2 + (1 + 2 + (1 + 2)))"

вернется

["(1 + 2 + (1 + 2 + (1 + 2)))"]

1 Ответ

0 голосов
/ 08 апреля 2019

Вы можете использовать классы Pattern & Matcher для извлечения того, что вы хотите следующим образом

   String input = "1 + (1 + 2 + (1 + 2 + (1 + 2) ) )";
   String regexp =  "(\\()(.*)(\\))";

   Pattern pattern = Pattern.compile(regexp);
   Matcher matcher = pattern.matcher(input);


   while(matcher.find()) {

       System.out.println(matcher.group(2));
   }

выход

1 + 2 + (1 + 2 + (1 + 2))

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