Я не думаю, что вы можете сделать это с помощью простой replaceAll (...), вам придется написать несколько строк вроде:
Pattern digitPattern = Pattern.compile("(\\d)"); // EDIT: Increment each digit.
Matcher matcher = digitPattern.matcher("test1check2");
StringBuffer result = new StringBuffer();
while (matcher.find())
{
matcher.appendReplacement(result, String.valueOf(Integer.parseInt(matcher.group(1)) + 1));
}
matcher.appendTail(result);
return result.toString();
Возможно, здесь есть некоторые синтаксические ошибки, но это будет работать примерно так.
РЕДАКТИРОВАТЬ: Вы прокомментировали, что каждая цифра должна быть увеличена отдельно (abc12d -> abc23d), поэтому шаблон должен быть изменен с (\\ d +) на (\\ d)
РЕДАКТИРОВАТЬ 2: Измените StringBuilder
на StringBuffer
в соответствии с требованиями Matcher
класса.