为什么我的正则表达式不匹配并替换字符串以便将代码urlencode成为新字符串?

I am at a sticking point, don't understand why there is a problem. It should be matching the regex for "-_" and replacing with "%/".

package main

import (
    "fmt"
    "regexp"
)

func main() {
    rewrittenUrl := "https://rewriteurls.com/v2/url?u=https-3A__www.youtube.com_watch-3Fv-3D4RkZAfD-2JHeM&d=DwMFaQ&c=SiTLKJfsN-8Sb-MxLIXcbA&r=LqnK821DYMk9rZdGgNQw73sPqZUvbX2xxnSU9Ro3lk8&m=Qq7De43ipEDY9RFTKIoH6VpjqxPwG1AHvfT51Oh-Sw4&s=2fNNjfWFIBBgYVuwxvVOAabxmcBqWXfzvQgU7zxduxg&e="

    r, _ := regexp.Compile("u=(.+?)&[dc]=")
    m := r.FindString(rewrittenUrl)

    // Will print u=https-3A__www.youtube.com_watch-3Fv-3D4RkZAfD-2DHeM&d=
    fmt.Print(m)

    // This attempt did not work either...
    // res := strings.Replace(m, "-_", "%/", 1)

    fmt.Println(m)

    // TO DO
    // match in  out '-_', '%/'
    r2, _ := regexp.Compile("(-_)")
    // Desired outcome u=https%3A//www.youtube.com/watch%3Fv%3D4RkZAfD%2DHeM&d=
    fmt.Printf("%q
", r2.ReplaceAllString(m, "%/"))
}

The first section apparently works as expected, so all you are actually asking is how to transform a string like:

"u=https-3A__www.youtube.com_watch-3Fv-3D4RkZAfD-2JHeM&d="

Into a string like:

"u=https%3A//www.youtube.com/watch%3Fv%3D4RkZAfD%2JHeM&d="

This is very simple, no regular expressions required...

m2 := strings.Replace(m, "-", "%", -1)
m2 = strings.Replace(m2, "_", "/", -1)

desired := "u=https%3A//www.youtube.com/watch%3Fv%3D4RkZAfD%2JHeM&d="

if m2 == desired {
    fmt.Printf("        success: %q
", m2)
} else {
    fmt.Println("fail!")
}

Here it is in action: https://play.golang.org/p/yWCJz7jTw2l