【问题标题】:Regular expression with calculated field in Google Data StudioGoogle Data Studio 中带有计算字段的正则表达式
【发布时间】:2017-01-12 10:53:08
【问题描述】:

我有以下计算字段,但它不起作用:

sum(CASE WHEN REGEXP_MATCH(url, 'foo') THEN 1 ELSE 0 END)

我的目标是总结所有包含单词“foo”的网址。是否有意义?我的错在哪里?

【问题讨论】:

    标签: regex google-data-studio re2


    【解决方案1】:

    你需要使用.*foo.*,因为REGEXP_MATCH requires a full string match

    REGEXP_MATCH 尝试匹配 field_expression 中包含的整个字符串。

    使用

    sum(CASE WHEN REGEXP_MATCH(url, '.*foo.*') THEN 1 ELSE 0 END)
                                     ^^   ^^
    

    【讨论】:

    • 如果我要查找多个术语,'.*foo.*|.*bar.*' 应该有效吗?
    • 当您必须使用交替时,最佳做法是它们都不应该在同一位置匹配(否则,您将遇到性能问题)。所以,使用'.*(foo|bar).*'。如果您有footfoobarboard,请使用'.*(foot?|b(ard|oard)).*'
    猜你喜欢
    • 1970-01-01
    • 2020-09-10
    • 2021-06-27
    • 2016-02-13
    • 2011-12-27
    • 2013-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多