BigQuery:字符串后的正则表达式
Posted
技术标签:
【中文标题】BigQuery:字符串后的正则表达式【英文标题】:BigQuery : Regex after a string 【发布时间】:2016-10-10 20:23:38 【问题描述】:我有一列的值为 source:destination:city:street:number,我想只获取没有 : 的城市。
我该怎么做?
提前致谢
【问题讨论】:
【参考方案1】:我该怎么做?
适用于 BigQuery 方言:旧版 SQL 和标准 SQL
SELECT
REGEXP_EXTRACT('source:destination:city:street:number', r'(?:.+:)2(.+)(?::.+)2')
查看更多 REGEXP_EXTRACT 和 re2 syntax
如果我需要源后面的第一个词:例如?
SELECT
REGEXP_EXTRACT('source:destination:city:street:number', r'(?:.+:)1(.+)(?::.+)3')
这里有很多选项供您选择,具体取决于您的具体需求 下面是另一个(BigQuery Legacy SQL)
SELECT
NTH(1, SPLIT(text,':')) AS source,
NTH(2, SPLIT(text,':')) AS destination,
NTH(3, SPLIT(text,':')) AS city,
NTH(4, SPLIT(text,':')) AS street,
NTH(5, SPLIT(text,':')) AS number
FROM (
SELECT 'source:destination:city:street:number' AS text
)
【讨论】:
感谢您的回答,如果我需要source后面的第一个词:例如?以上是关于BigQuery:字符串后的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章
在 Google BigQuery 中将字符串保存为正则表达式