如何获取bigquery中字符串中正则表达式的匹配计数?

时间:2019-03-07 18:44:52

标签: regex google-bigquery

在bigquery中如何获取字符串中必需表达式的匹配计数?我认为bigquery sql不支持regexp_count。

因此,例如,您可能希望在“ foo1 foo foo40”之类的字符串中计算“ foo *”的匹配项,并且它返回的计数为2(在这种情况下,我的意思是“ *”必须是非空字符串)。

谢谢!

1 个答案:

答案 0 :(得分:1)

以下是用于BigQuery标准SQL

您可以使用array_length和regexp_extract_all的组合,如下例所示

#standardSQL
WITH `project.dataset.table` AS (
SELECT "foo1 foo foo40" str
)
SELECT array_length(regexp_extract_all(str, r'foo[^\s]')) matches
FROM `project.dataset.table`