来自维基百科:“一些语言提供了一种指定文字字面上不需要进行任何特定于语言的解释处理的方法。这避免了需要转义的需求,并产生了更易读的字符串。”
http://en.wikipedia.org/wiki/String_literal#Raw_strings
例如,以下内容看起来像是一个有效的正则表达式,但转义被错误解释了:
SELECT REGEXP_EXTRACT("ab'cd", '(\w\w\'\w\w)')
Error: Invalid string literal: '(\w\w\'\w\w)'
我可以用两种方式来修复这个问题。一种是使用原始字符串,另一种是转义转义符:
转义转义符:
SELECT REGEXP_EXTRACT("ab'cd", '(\\w\\w\'\\w\\w)')
ab'cd
原始字符串:
SELECT REGEXP_EXTRACT("ab'cd", r'(\w\w\'\w\w)')
ab'cd