作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 UDF 对“test/test”等短语执行一些正则表达式,但遇到了一个无法纠正的错误。
CREATE TEMPORARY FUNCTION parseMethod(queryString STRING)
RETURNS STRING
LANGUAGE js AS
\"\"\"
var match_regex = /test\/(\w+)/i;
var found_method;
if(found_method = queryString.match(match_regex)){
method_list = found_method[1];
}
return method_list;
\"\"\";
SELECT
parseMethod('test/test') AS result
当我运行此代码时,我收到一条错误消息
Error in query string: Error processing job
'click-1315:XXXXXXXX': Syntax error:
Illegal escape sequence: \/
javascript 函数在 node.js 中运行良好,因此我猜测 BigQuery 的解析不喜欢这种格式。我也尝试过 \\/
但同样的错误。我该如何解决这个问题?
最佳答案
您只需删除 CREATE TEMPORARY FUNCTION
语句中的反斜杠并在正则表达式中添加一对反斜杠即可。这似乎有效:
CREATE TEMPORARY FUNCTION parseMethod(queryString STRING)
RETURNS STRING
LANGUAGE js AS
"""
var match_regex = /test\\/(\\w+)/i;
var found_method;
if(found_method = queryString.match(match_regex)){
method_list = found_method[1];
}
return method_list;
""";
SELECT
parseMethod('test/test') AS result;
关于google-bigquery - BigQuery 反斜杠/的非法转义序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41620203/
我是一名优秀的程序员,十分优秀!