Класс Java Pattern - какое регулярное выражение сделать для получения строки из внешних скобок? - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь получить строку из другой строки, содержащей несколько слоев скобок, но у меня проблема с созданием хорошего регулярного выражения.Как выглядит нужное выражение?

Я пробовал выражение \((.*?)\), но выражение получает первую скобку, которая видит ...

Например, когда у меня есть строка ввода

(many things including things in inner brackets (like this))

Я ожидаю, group(1) имеет значение

many things including things in inner brackets (like this)

, но фактическое значение group(1)

is many things including things in inner brackets (like this

1 Ответ

0 голосов
/ 14 февраля 2019

Вам нужно избавиться от этого не жадного квантификатора, чтобы ваше регулярное выражение могло исчерпывающе совпадать и останавливаться только в конце ) вместо предыдущего, что происходит из-за вашего не жадного выражения.Просто измените свое регулярное выражение с \((.*?)\) на \((.*)\)

Демо

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