Как заменить строку в подстроке с определенного и до определенного символа?
Пишу на PHP.
Есть строка вида 12345ABC90000DEF123ABC000GH
Нужно заменить подстроку ABC, которая начинается с 4 и до 8 символа, на подстроку XX.
Т.е. получить 12345XX90000DEF123ABC000GH
Подстрока ABC может быть где угодно (конец, начало строки), встречаться многократно и т.д.
Но мы знаем, что нам надо изменить её на участке с 4 и до 8 символа (например).
И на этом участке, по условию, будет только одна подстрока ABC.
Как я понимаю, str_replace напрямую не подойдет и регулярки тоже.
Правильно ли я понимаю, что единственный способ делить строку на 3 части, изменять середину и объединять воедино?
Или есть другие варианты или функции?
Регулярки так умеют. Пропустим любые 3-7 символов в начале строки, а потом поищем ABC ^.{3,7}(ABC) https://regex101.com/r/VbLhJc/1
в боевом варианте флаги gm уберите