Вы должны начать группу захвата после открытия [
и закрыть до ]
Обратите внимание, что эта часть в вашем шаблоне [^\'](.*)[^\']
использует 2 раза отрицательный класс символов, который фактически ожидает минимумиз 2 символов.
Другим способом написания шаблона может быть использование отрицательного класса символов, не соответствующего [
, ]
, $
или '
\[([^]\[$']+)\]
Regex demo
В качестве замены используйте
['$1']
Или сделайте соответствие более ограничивающему соответствию 1+ словам символов.
\[(\w+)\]
Regex demo