Go中的正则表达式字符串
Regex string in Go
我尝试使用字符串
"/{foo}/{bar:[a-zA-Z0-9=\-\/]+}.{vzz}"
围棋
当我使用 "
时,我看到错误:
unknown escape sequence
当我使用 '
时,我得到:
cannot use '\u0000' (type rune) as type string in array or slice literal
unknown escape sequence
如何在我的 Go 应用程序中为 MUX 使用这个正则表达式?
当您指的是 \
字面字符串中的字符时 - 它必须另外转义
"/{foo}/{bar:[a-zA-Z0-9=\-\/]+}.{vzz}"
否则你可以使用反引号代替双引号
`/{foo}/{bar:[a-zA-Z0-9=\-\/]+}.{vzz}`
根据 Golang 语言规范。
string_lit = raw_string_lit | interpreted_string_lit .
raw_string_lit = "`" { unicode_char | newline } "`" .
interpreted_string_lit = `"` { unicode_value | byte_value } `"` .
因此,如果您不想转义字符串文字中的任何内容,则需要一个原始字符串。
The value of a raw string literal is the string composed of the uninterpreted (implicitly UTF-8-encoded) characters between the quotes
Golang 不使用单引号 '
作为字符串字面量指示符。双引号 "
的错误是由于编译器试图在正则表达式解释器之前将 \-
和 \/
作为字符串的一部分进行转义。
我尝试使用字符串
"/{foo}/{bar:[a-zA-Z0-9=\-\/]+}.{vzz}"
围棋
当我使用 "
时,我看到错误:
unknown escape sequence
当我使用 '
时,我得到:
cannot use '\u0000' (type rune) as type string in array or slice literal
unknown escape sequence
如何在我的 Go 应用程序中为 MUX 使用这个正则表达式?
当您指的是 \
字面字符串中的字符时 - 它必须另外转义
"/{foo}/{bar:[a-zA-Z0-9=\-\/]+}.{vzz}"
否则你可以使用反引号代替双引号
`/{foo}/{bar:[a-zA-Z0-9=\-\/]+}.{vzz}`
根据 Golang 语言规范。
string_lit = raw_string_lit | interpreted_string_lit .
raw_string_lit = "`" { unicode_char | newline } "`" .
interpreted_string_lit = `"` { unicode_value | byte_value } `"` .
因此,如果您不想转义字符串文字中的任何内容,则需要一个原始字符串。
The value of a raw string literal is the string composed of the uninterpreted (implicitly UTF-8-encoded) characters between the quotes
Golang 不使用单引号 '
作为字符串字面量指示符。双引号 "
的错误是由于编译器试图在正则表达式解释器之前将 \-
和 \/
作为字符串的一部分进行转义。