该
反斜杠没有被正则表达式解析器解释,它被解释的字符串常量。您应该再次转义反斜杠:regexp.Compile("[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+")
用
"双引号引起来的字符串在Go中被称为“解释字符串文字”。解释的字符串文字与大多数语言中的字符串文字相似:反斜杠字符不按字面意义包含,它们用于赋予下一个字符特殊的含义。源代码必须
\连续包含两个反斜杠,才能在解析的值中获得单个反斜杠字符。
Go还有另一种选择,在为正则表达式编写字符串文字时可能会很有用:```反引号字符引用“原始字符串文字”
。原始字符串文字中没有特殊字符,因此,只要您的模式不包含反引号,就可以使用此语法而无需转义任何内容:
regexp.Compile(`[0-9]+.[0-9]+.[0-9]+.[0-9]+`)
这些在Go规范的“字符串文字”部分中进行了描述。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)