Я должен заменить имя файла abc(1).jpg
на abc(2).jpg
. Вот код
String example = "my attachements with some name (56).jpg";
Matcher m = Pattern.compile("\\((\\d{1,}).\\)").matcher(example);
int a = 0;
while(m.find()) {
a=Integer.parseInt(m.group(1));
String p = example.replace(String.valueOf(a), String.valueOf(a+1));
}
Это работает в соответствии с данным вариантом использования. Но терпит неудачу в случае abc(ab)(1)(ab).jpg
для этого случая это просто изменилось на abc(ab)(2)(ab).jpg
. Что не требуется. Так, как я могу проверить, что числовая скобка находится перед точкой, т.е.