2017-01-12 13 views
0

私はUDFを使用して 'test/test'のようなフレーズの正規表現を行っていますが、修正できないというエラーが発生しました。私はこのコードを実行するとBigQueryバックスラッシュの不正なエスケープシーケンス/

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 

は、私はこのフォーマットを好きではないのBigQueryの解析推測していますのでjavascript関数はNode.jsの中に正常に動作

Error in query string: Error processing job 
'click-1315:XXXXXXXX': Syntax error: 
Illegal escape sequence: \/ 

というエラーを取得します。私も\\/を試しましたが、同じエラーです。これをどうすれば解決できますか?

答えて

1

CREATE TEMPORARY FUNCTIONステートメントでバックスラッシュを削除し、正規表現にカップルを追加するだけで済みます。私はシェルスクリプトでCLIを使用していたので、私はそれらの `\「\」\"を `た

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; 
+0

あなただけのいくつかの言語でのBigQuery APIを使用してい – dorachan2010

+1

私はを通してそれを試してみました:これが動作しているようです。? UI。そのクエリテキストをファイルに入れて、それをCLIにパイプすることができます。例については、http://stackoverflow.com/a/41571272/6253347を参照してください。 –

関連する問題