Регулярное выражение заменяет, но сохраняет часть строки - PullRequest
9 голосов
/ 03 октября 2011

Итак, если я хочу заменить b [что-нибудь здесь] в строке на f [то же самое здесь], как бы я это сделал?Пример: Какое регулярное выражение делает foobarfoo для foofarfoo и foobanfoo для foofanfoo?

1 Ответ

12 голосов
/ 03 октября 2011

Основным принципом здесь является «группа захвата»:

String output = input.replaceAll("foob(..)foo", "foof$1foo");

Поместите интересующую часть в круглые скобки в регулярном выражении.Затем на него можно ссылаться по номеру группы в тексте замены, или с помощью метода Matcher.group().

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