Я хотел бы совместить слово "some" в "i want somesomesome pies" и заменить любую строку, соответствующую ему конкатенацией с {..}, поэтому вывод должен быть "я хочу {somesomesome} pies", но мой "я хочу" {некоторые} пироги ".
Вот мое регулярное выражение:
(Некоторые) * некоторые
Один образец, как показано ниже:
String some = "some";
String input = "i want somesomesome pies, and some apples, and somesomesomesome pears";
// at least one 'some' word
System.out.println(input.replaceAll("((?:"+some+")+)", "{$1}"));
// at least two 'some' word
System.out.println(input.replaceAll("((?:"+some+"){2,})", "{$1}"));
Выход:
i want {somesomesome} pies, and {some} apples, and {somesomesomesome} pears
i want {somesomesome} pies, and some apples, and {somesomesomesome} pears