为什么C:\\\\
(引用')regexp与"C:\\"
和"C:\\\\"
不匹配?
r, err := regexp.Compile(`C:\\\\`) // Not match
r, err := regexp.Compile("C:\\\\") // Matches
if r.MatchString("Working on drive C:\\") == true {
fmt.Printf("Matches.")
} else {
fmt.Printf("No match.")
}
答案 0 :(得分:8)
原始字符串文字中的转义序列(引用引号)不会被解释。
`C:\\\\`
相当于:
"C:\\\\\\\\"
请参阅The Go Programming Language Specification - String literals。