У меня есть следующие данные ниже, где {n}
представляет местозаполнитель.
{n}{n}A{n}{n}A{n}
{n}A{n}{n}{n}{n}A
{n}{n}A{n}A{n}{n}
{n}{n}{n}A{n}A{n}B
{n}A{n}{n}B{n}{n}
A{n}B{n}{n}{n}{n}
Я хотел бы заменить каждый экземпляр заполнителя между двумя символами А, например, буквой C
. Я написал для него следующее регулярное выражение, и я использую функцию preg_replace
.
$str = preg_replace('~(?<=A)(\{n\})*(?=A)~', 'C', $str);
Проблема заключается в том, что он заменяет все экземпляры между двумя A одним C
. Как я могу исправить свое регулярное выражение или вызов preg_replace
для замены каждого отдельного экземпляра заполнителей на C
?
Это должен быть мой вывод.
{n}{n}ACCA{n}
{n}ACCCCA
{n}{n}ACA{n}{n}
{n}{n}{n}ACA{n}B
{n}A{n}{n}B{n}{n}
A{n}B{n}{n}{n}{n}
Но в настоящее время он выводит это.
{n}{n}ACA{n}
{n}ACA
{n}{n}ACA{n}{n}
{n}{n}{n}ACA{n}B
{n}A{n}{n}B{n}{n}
A{n}B{n}{n}{n}{n}