Golang正则表达式替换什么都不做

我想用破折号替换所有非字母数字字符序列。下面是我写的一小段内容。但是它不起作用,我完全不知道为什么。谁能解释一下为什么代码片段的行为不如我预期的那样,实现此目的的正确方法是什么?


package main


import (

    "fmt"

    "regexp"

    "strings"

)


func main() {

    reg, _ := regexp.Compile("/[^A-Za-z0-9]+/")

    safe := reg.ReplaceAllString("a*-+fe5v9034,j*.AE6", "-")

    safe = strings.ToLower(strings.Trim(safe, "-"))

    fmt.Println(safe)  // Output: a*-+fe5v9034,j*.ae6

}


jeck猫
浏览 279回答 1
1回答

Cats萌萌

您的字符串不匹配正斜杠。package mainimport (        "fmt"        "log"        "regexp"        "strings")func main() {        reg, err := regexp.Compile("[^A-Za-z0-9]+")        if err != nil {                log.Fatal(err)        }        safe := reg.ReplaceAllString("a*-+fe5v9034,j*.AE6", "-")        safe = strings.ToLower(strings.Trim(safe, "-"))        fmt.Println(safe)   // Output: a*-+fe5v9034,j*.ae6}输出a-fe5v9034-j-ae6
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go