在 Google BigQuery 中将字符串保存为正则表达式
Posted
技术标签:
【中文标题】在 Google BigQuery 中将字符串保存为正则表达式【英文标题】:Saving string as regular expression in Google BigQuery 【发布时间】:2021-08-11 09:12:57 【问题描述】:我需要通过几个正则表达式对列的值进行分类。我正在使用 regex_contains。我想根据答案(真|假)获得新参数。我有另一个表,有 2 列:正则表达式和参数。
我加入了这样的表格:select * from xxx join yyy on REGEXP_CONTAINS(xxx.value, yyy.regExVal) = true
如何将正则表达式作为字符串?我需要在精确的正则表达式前面保存 'r' litera。 REGEXP_CONTAINS(VALUE, r'REGEX')
或者也许有人知道如何将正则表达式存储为另一个 bigquery 表中的值?
【问题讨论】:
【参考方案1】:正则表达式必须保存为原始字符串。
What is the meaning of r in REGEXP_EXTRACT(word,r'(\w\w\'\w\w)')
WITH xxx AS (
SELECT 'alpha' value UNION ALL
SELECT 'beta' UNION ALL
SELECT 'beta' UNION ALL
SELECT 'gamma' UNION ALL
SELECT '123'
),
yyy as (Select "[0-9]" regExVal UNION ALL Select r"\w")
select *, REGEXP_extract(xxx.value, yyy.regExVal) as found
from xxx join yyy on REGEXP_CONTAINS(xxx.value, yyy.regExVal) = true
查看r"\w"
中的r
【讨论】:
以上是关于在 Google BigQuery 中将字符串保存为正则表达式的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 AppScript 在 BigQuery 中将 Google 工作表持久化为表格
在 Google BigQuery 中将数组转换为字符串 [重复]
如何在 Google Apps 脚本中将 BigQuery TIMESTAMP 转换为日期?
在 Google BigQuery 中将数字格式化为没有逗号 (1,000,000 -> 1000000)