separator . '\1', $this->separator . '\1']; } else { $pattern = ['#(?<=(?:[A-Z]))([A-Z]+)([A-Z][a-z])#', '#(?<=(?:[a-z0-9]))([A-Z])#']; $replacement = ['\1' . $this->separator . '\2', $this->separator . '\1']; } return preg_replace($pattern, $replacement, $value); } }