当年话下

似乎您可能希望同时使用\s速记字符类和\p{Zs}Unicode 属性来匹配 Unicode 空格。但是,这两个步骤都不能通过 1 个正则表达式替换来完成,因为您需要两个不同的替换,并且ReplaceAllStringFunc只允许整个匹配字符串作为参数(我不知道如何检查哪个组匹配)。因此,我建议使用两个正则表达式:^[\s\p{Zs}]+|[\s\p{Zs}]+$ - 匹配所有前导/尾随空格[\s\p{Zs}]{2,} - 匹配字符串中的 2 个或更多空白符号示例代码:package mainimport (    "fmt"    "regexp")func main() {    input := "   Text   More here     "    re_leadclose_whtsp := regexp.MustCompile(`^[\s\p{Zs}]+|[\s\p{Zs}]+$`)    re_inside_whtsp := regexp.MustCompile(`[\s\p{Zs}]{2,}`)    final := re_leadclose_whtsp.ReplaceAllString(input, "")    final = re_inside_whtsp.ReplaceAllString(final, " ")    fmt.Println(final)}
0 0