Kyle Kelley
Kyle Kelley

Reputation: 14144

How do I escape characters inside a JavaScript UDF for Google BigQuery?

Within the JavaScript UDF I've been writing for BigQuery, I want to use a Regular Expression. Within JavaScript I can use var rep = new RegExp(/require\(\[([^\]]+)\]/, 'gm'); just fine. When run through BigQuery though, it has this error: Error: Syntax error: Illegal escape sequence: \(.

Is there any way to escape these for BigQuery JS UDFs?

Sample query: https://bigquery.cloud.google.com/savedquery/300830567303:6116513b17ca4a77b58fec869fe5a846

Upvotes: 1

Views: 1101

Answers (1)

Kyle Kelley
Kyle Kelley

Reputation: 14144

Yes!

The trick is that you have to escape every backslash as \\ to get a single backslash into your JavaScript UDF. Your regex then has to be:

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

Upvotes: 3

Related Questions