BigQuery - 非法转义序列

ksh*_*e94 6 google-bigquery bigquery-standard-sql

我在 BigQuery 中匹配正则表达式时遇到问题。我有以下代码行试图识别用户代理:

when regexp_contains((cs_user_agent),  '^AppleCoreMedia\/1\.(.*)iPod') then "iOS App - iPod"
Run Code Online (Sandbox Code Playgroud)

但是,由于某种原因,BigQuery 似乎不喜欢转义序列,并且出现了我无法弄清楚的错误:

Syntax error: Illegal escape sequence: \/ at [4:63]
Run Code Online (Sandbox Code Playgroud)

这段代码在我使用的正则表达式验证器中运行良好,但 BigQuery 对它不满意,我不知道为什么。在此先感谢您的帮助

Mik*_*ant 15

regexp_contains((cs_user_agent), r'^AppleCoreMedia\/1\.(.*)iPod')

  • r 表示该字符串将被视为原始字符串,这意味着所有转义码将被忽略。...“字符串文字可以选择以字母“r”或“R”为前缀;此类字符串称为原始字符串,并使用不同的规则来解释反斜杠转义序列。您可以“谷歌”此以获取更多信息:o) (3认同)