在Go regexp中转义括号

时间:2016-02-03 16:56:31

标签: regex go

我想在Go

中的字符串上运行以下正则表达式

\(([0-9]+),([0-9.]+),(?:$([0-9]+))\)

但我一直收到错误unknown escape sequence: (

我在其上运行的字符串是(1,53.38,$45) (2,88.62,$98) (3,78.48,$3) (4,72.30,$76) (5,30.18,$9) (6,46.34,$48)

所以我的问题是,你如何逃避Go的正则表达式中的括号?

1 个答案:

答案 0 :(得分:5)

您需要转义反斜杠,因为\(不是有效的转义序列。

"\\(([0-9]+),([0-9.]+),(?:$([0-9]+))\\)"

更常见的是,你可以在不转义的情况下使用反引号作为字符串文字:

`\(([0-9]+),([0-9.]+),(?:$([0-9]+))\)`