Нужно заменить
.replace(search, replace)
на
.replaceAll(search, replace)
Полный код:
public static void main(String[] args) throws IOException {
String fileName = "D:\\com.company\\shared\\JsonData.xml";
String search = "(Apples = (\\d+))";
String replace = "Apples = 5555";
Charset charset = StandardCharsets.US_ASCII;
Path path = Paths.get(fileName);
Files.write(path,
new String(Files.readAllBytes(path), charset).replaceAll(search, replace)
.getBytes(charset));
}
Тестовые данные до выполнения:
<?xml version="1.0" encoding="US-ASCII"?>
<xs:element name="apple" type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<apple>Apples = 13</apple>
<apple>Fake</apple>
<apple>Apples = 11</apple>
</xs:element>
Тестовые данные после выполнения:
<?xml version="1.0" encoding="US-ASCII"?>
<xs:element name="apple" type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<apple>Apples = 5555</apple>
<apple>Fake</apple>
<apple>Apples = 5555</apple>
</xs:element>