2017-05-26 20 views
1

私はBigQuery用に書いたJavaScript UDFの中で、正規表現を使用したいと思います。 JavaScript内ではvar rep = new RegExp(/require\(\[([^\]]+)\]/, 'gm');を使っても問題ありません。 BigQueryを実行しても、このエラーはError: Syntax error: Illegal escape sequence: \(です。Google BigQuery用のJavaScript UDFの中で文字をエスケープするにはどうすればよいですか?

BigQuery JS UDFでこれらをエスケープする方法はありますか?

サンプルクエリ:https://bigquery.cloud.google.com/savedquery/300830567303:6116513b17ca4a77b58fec869fe5a846

+0

あなたは単純なクエリを提案する場合 - 私はあなたが誤ってそれを実行すると、予期しない$$$を支払うよりも、できる人のために、このようなクエリのコストを言及することをお勧めします。クエリのコストは - 有効:このクエリは実行時に2.21 TBを処理します。あなたは[BigQuery Mate](https://chrome.google.com/webstore/detail/bigquery-mate/nepgdloeceldecnoaaegljlichnfognh)を使用すると、これを簡単にキャッチすることができます。ifあなたがそれを見逃すことはできません - と余分な手形で終わる –

答えて

2

はい!

JavaScriptのUDFにバックスラッシュを1つ入れるには、すべてのバックスラッシュを\\としてエスケープする必要があります。あなたの正規表現はその後である必要があります:

var re = new RegExp(/require\\((\\[[^\\]]+\\])/, 'gm'); 
関連する問題