Go 中的正则表达式匹配失败
用户遇到 Go 中正则表达式模式无法匹配的问题。该代码片段尝试验证“parameter=0xFF”形式的字符串,遵循正则表达式模式“^.=b0xA-Fb$”。但是,MatchString() 函数返回 false 和 nil 错误,这与在 Python 中匹配成功不同。
调试 Go 代码
要解决此问题,用户应该考虑使用原始字符串文字作为模式字符串。在 Go 中,原始字符串文字用反引号 '`' 括起来,而不是标准引号 '"'。此约定可防止转义字符 '' 在字符串中被解释。
更正的 Go 代码
使用原始字符串文字更正的 Go 代码是:
package main import ( "fmt" "regexp" ) func main() { var a string = "parameter=0xFF" var regex string = `^.+=\b0x[A-F][A-F]\b$` result, err := regexp.MatchString(regex, a) fmt.Println(result, err) }
预期输出
使用原始字符串文字后,预期输出为:
true <nil>
这表明输入字符串符合预期的格式。
以上是为什么我的Go正则表达式匹配失败,而Python的却成功?的详细内容。更多信息请关注PHP中文网其他相关文章!