【问题标题】:Lookahead in BigQuery RegexpBigQuery 正则表达式中的前瞻
【发布时间】:2013-06-10 00:44:05
【问题描述】:

BigQuery regexp 似乎不支持前瞻功能。 有谁知道这是否正确,如果正确,是否有计划在不久的将来支持它?

【问题讨论】:

    标签: regex google-bigquery


    【解决方案1】:

    BigQuery 正则表达式使用 re2。似乎没有计划向 re2 添加环视断言(或反向引用)。据我所知,添加它们的硬性限制是找到一个适当的实现来保持线性运行时间,正如 re2 所保证的那样。

    不过,在我看来,向正则表达式添加反向引用或环视断言是重新审视正则表达式是否真的适合这项工作的工具的好时机。

    【讨论】:

    • 有什么好的工具可以做到这一点?抱歉,我对此很陌生。
    • 其他工具可能意味着您可以编写不使用前瞻的正则表达式。也许您的匹配实际上不需要前瞻。出于特定目的,您可以混合使用其他 BigQuery 功能。感觉就像是 hack,但考虑一下正则表达式 :(?:.(?!:))+$,它会在最后一个 : 之后查找内容。它可以在没有正则表达式的情况下写成 SQL 中的ARRAY_REVERSE(SPLIT(string, '::'))[SAFE_ORDINAL(1)]
    猜你喜欢
    • 2015-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-14
    • 2010-12-17
    • 1970-01-01
    相关资源
    最近更新 更多