在BigQuery中匹配正则表达式时遇到问题。
REGEXP_REPLACE(tc.metadata->>'document_number', 'D', '', 'g') = m.document_number
然而,由于某种原因,BigQuery似乎不喜欢转义序列,我得到了一个我无法理解的错误:
Syntax error: Illegal escape sequence: D
这段代码运行得很好,但BigQuery对此不满意,我也不知道为什么。提前感谢的帮助
您需要对BigQuery中的字符进行双转义,因为第一个/
将被JavaScript使用。
尝试双重转义,例如\D
,这应该对您有效。
在[1]中,如果向下滚动,您可以看到标准SQL的转义序列,而没有一个是D
,所以正如Ben p所说,您需要双重转义才能获得反斜杠转义序列。我想这就是缺失的地方,但如果你能进一步阐述你的问题,答案确实会更准确。
[1]https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical#string_and_bytes_literals