REGEXP_EXTRACT(word,r';(\w\w\';\w\w)';)中r的含义是什么

REGEXP_EXTRACT(word,r';(\w\w\';\w\w)';)中r的含义是什么,regex,google-bigquery,Regex,Google Bigquery,我在BigQuery或re2中都找不到答案 在BigQuery引用的所有Regex示例部分中,每个Regex前面都有一个“r”,但我在任何地方都找不到它的含义。例如: REGEXP_EXTRACT(单词,r'(\w\w\'\w\w)')) 在我看来,它似乎是“regex”之类的类型转换,因为它允许在下面的字符串中使用“\”和“” 感谢所有知道并发布答案的人:)来自维基百科“一些语言提供了一种方法,可以指定文字在没有任何特定语言解释的情况下进行处理。这避免了转义的需要,并产生了更清晰的字符串。”

我在BigQuery或re2中都找不到答案

在BigQuery引用的所有Regex示例部分中,每个Regex前面都有一个“r”,但我在任何地方都找不到它的含义。例如:

REGEXP_EXTRACT(单词,r'(\w\w\'\w\w)'))

在我看来,它似乎是“regex”之类的类型转换,因为它允许在下面的字符串中使用“\”和“”

感谢所有知道并发布答案的人:)

来自维基百科“一些语言提供了一种方法,可以指定文字在没有任何特定语言解释的情况下进行处理。这避免了转义的需要,并产生了更清晰的字符串。”

例如,这看起来像一个有效的正则表达式,但转义会被解释为未命中:

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", '(\\w\\w\'\\w\\w)')
ab'cd
原始字符串:

SELECT REGEXP_EXTRACT("ab'cd", r'(\w\w\'\w\w)')
ab'cd
搜索“原始字符串”——至少在Python中是这样的。