2016-02-01 2 views

ответ

1

Вы можете использовать

"\\s*\\(\\s*([^)]*?)\\s*\\)\\s*" 

И заменить ($1). См regex demo

Дело в том, что с обеих сторон ( и ) вы можете соответствовать пробельные с \s*, но для того, чтобы соответствовать пробел перед ), вам нужно использовать ленивую соответствия, так как [^)], который соответствует любому символу, но и ) также может совпадать с пробелами.

Или просто соответствовать все пробелы вокруг любого ():

"\\s*([()])\\s*" 

И заменить $1.

См another demo

0

Если ваши строки могут содержать пробелы вокруг скобок, то вам следует рассмотреть разборе Java, а не делать это с помощью регулярных выражений. Этот проект имеет парсер Java, который выглядит пригодным для использования:

https://github.com/javaparser/javaparser

Смежные вопросы