2017-05-26 47 views
1

在JavaScript UDF我已经写了BigQuery的,我想用正则表达式。在JavaScript中,我可以使用var rep = new RegExp(/require\(\[([^\]]+)\]/, 'gm');就好。当通过BigQuery的运行,虽然,它有这个错误:Error: Syntax error: Illegal escape sequence: \(我如何逃脱一个JavaScript UDF为谷歌的BigQuery内字符?

有没有办法逃避这些可供BigQuery JS的UDF?

样品查询:https://bigquery.cloud.google.com/savedquery/300830567303:6116513b17ca4a77b58fec869fe5a846

+0

当你提出了简单的查询 - 我建议你提这样的查询的成本对于那些谁可能会意外地运行它,不是支付意外$$$。您的查询成本为 - 有效:此查询在运行时将处理2.21 TB。其成本将至少为$ 11.00 - 如果你使用[BigQuery的伴侣(https://chrome.google.com/webstore/detail/bigquery-mate/nepgdloeceldecnoaaegljlichnfognh) - 例如,你将能够轻易地捕获这个 - 如果不 - 你可能会错过它 - 并最终得到额外的账单 –

回答

2

是的!

的技巧是,你必须每一个反斜杠转义为\\得到一个反斜杠到你的JavaScript UDF。您正则表达式,然后必须是:

var re = new RegExp(/require\\((\\[[^\\]]+\\])/, 'gm');