由于 Google Big Query 中的正则表达式导致 Python 错误
Posted
技术标签:
【中文标题】由于 Google Big Query 中的正则表达式导致 Python 错误【英文标题】:Python error because of regex inside a Google Big Query 【发布时间】:2016-12-10 00:03:22 【问题描述】:我正在用 python 编写 Google Big Query 包装器。其中一个查询有一个正则表达式,python 代码将其视为语法错误。
这是正则表达式 当 tier2 包含 '-' THEN REGEXP_EXTRACT(tier2,'(.*)\s-')
错误是无效的字符串文字:'(.*)\s-'> 错误是正则表达式中的 \ 。 任何克服它的建议
【问题讨论】:
【参考方案1】:您需要通过在反斜杠前面加上另一个反斜杠来转义反斜杠
反斜杠\
是转义字符,因此您需要对其进行转义,以便将其视为普通字符
试试
'(.*)\\s-'
根据您的 cmets,上面看起来正是您在 BigQuery 中使用的 - 所以在这种情况下,您需要转义两个反斜杠中的每一个
'(.*)\\\\s-'
【讨论】:
你是对的......代码在大查询中使用 \\ 但在 python 中以某种方式抛出错误。 这是我在查询中使用的.....WHEN tier2 CONTAINS '-' THEN REGEXP_EXTRACT(tier2,'(.*)\\s-') 所以在这种情况下你需要转义两次 - 试试'(.*)\\\\s-'
你太棒了...... Berlyant先生你太棒了:)以上是关于由于 Google Big Query 中的正则表达式导致 Python 错误的主要内容,如果未能解决你的问题,请参考以下文章
如何使用计划查询刷新 Google Big Query 中的现有表?
Google Data Studio:将用户输入写回 Google Big Query 表
如何通过 Google 表格中的二维数组通过 Apps 脚本插入 Big Query?