用空格替换前导和尾随连字符?

2 python regex

用空格替换每个前导或尾随连字符的最佳方法是什么?

例如,我想要

--- AB --- C-def--

成为

000ab --- c-def00(零为空格)

我试图用Python做到这一点,但我似乎无法想出一个可以进行替换的正则表达式.我想知道是否有另一个更好的方法来做到这一点?

Ale*_*lli 5

re.sub(r'^-+|-+$', lambda m: ' '*len(m.group()), '---ab---c-def--')
Run Code Online (Sandbox Code Playgroud)

说明:模式匹配1个或多个前导或尾随破折号; 替换最好由一个callable接收,它接收每个匹配对象 - 所以m.group()是匹配的子串 - 并返回必须替换它的字符串(与所述子字符串中的字符一样多的空格,在此案件).