Первый параметр replaceAll (...) является строкой регулярного выражения. .*?
в вашем примере - это та часть, которая соответствует чему угодно. Итак, если вам нужно регулярное выражение, которое избавит вас от всего, что находится между "@" и "}", вы должны использовать что-то вроде:
String exampleText = "Start @some text} finish.";
exampleText.replaceAll("@(.*?)\\}", "@}");
System.out.println(exampleText); // prints "Start @} finish."
Обратите внимание на тот же шаблон: .*?
. Скобки, которые здесь необязательны, просто используются для группировки. Также обратите внимание, что }
экранирован обратной косой чертой, поскольку он может иметь особое значение в регулярных выражениях.
Для получения дополнительной информации о поддержке регулярных выражений Java см. класс Pattern .