Вы можете использовать
$result = preg_replace('~\)+\K(?=[a-z])~', ',', $s);
См. Демоверсию regex .Вариант без учета регистра: '~\)+\K(?=[a-z])~i'
.
Подробности
\)+
- соответствует 1+ )
символов \K
- пропускает сопоставленные )
символы из совпадения (?=[a-z])
- требует строчной буквы справа от текущего местоположения без добавления ее к значению совпадения.
Альтернатива:
$result = preg_replace('~(\)+)([a-z])~', '$1,$2', $s);
См. это демо регулярных выражений .Вариант без учета регистра: '~(\)+)([a-z])~i'
.
Здесь (\)+)([a-z])
фиксирует закрывающие скобки в группе 1, а затем буква записывается в группе 2, а заменой является значение в группе 1 + ,
+значение в группе 2.