0

这是对错误的跟进:无法解析正则表达式“”:模式太大 - 编译失败......

我又遇到了这个问题。

谁能解释一下 BigQuery 如何为 REGEXP 函数分配资源?在单个 BQ 查询中是否存在“太多”\“太复杂”的 REGEXP 表达式的已知问题(以及避免它的方法)?

非常感谢

4

1 回答 1

2

正则表达式解析有一些不幸的极端情况,可能会占用大量处理周期(请参阅http://www.regular-expressions.info/catastrophic.html)。正则表达式状态机也会占用大量内存。因此,BigQuery 对正则表达式有预算。当前值类似于每个查询 2MB。然而,这是一个指导方针,而不是公布的保证,并且可能随时更改。

BigQuery 被记录为使用 Re2(此处的代码:https ://code.google.com/p/re2/ )进行正则表达式解析;您可以尝试使用 2MB 的预算使用此库运行您的正则表达式,并检查它们是否成功。

于 2014-04-29T00:44:09.060 回答