Что такое шаблон регулярного выражения для обрезки дефисов от начала и конца строки?
-----name1-name2-----
должно стать
name1-name2
^(-+).+(-+)$ не работает ...
^(-+).+(-+)$
Я бы выбрал противоположный подход и вытащил середину так:
^-+(.+?)-+$
Вам нужно сопоставить начало или конец следующим образом:
(^-+)|(-+$)
Если я попробую это сделать в PowerShell, я получу следующий результат:
PS> "-----name1-name2----" -replace "(^-+)|(-+$)", "" name1-name2