以下の現象が見られます。
REGEXP_EXTRACT 関数を使用して抽出された数百のフィールドを含む BQ クエリがあります。
新しい式を追加したところ、次のエラーが発生しました: 正規表現の解析に失敗しました "": パターンが大きすぎます - コンパイルに失敗しました。
この式を単独でクエリすると、すべてが正常に実行されますが、より大きなクエリではエラーが発生します。
これは、github サンプル データと単純な正規表現に基づく問題のレプリカです。
SELECT repository.description,
REGEXP_EXTRACT(repository.description,r'(?:\w){0}(\w)') as Pos1,
REGEXP_EXTRACT(repository.description,r'(?:\w){1}(\w)') as Pos2,
REGEXP_EXTRACT(repository.description,r'(?:\w){2}(\w)') as Pos3,
.
. here it goes on and on in the same pattern
.
REGEXP_EXTRACT(repository.description,r'(?:\w){198}(\w)') as Pos199,
REGEXP_EXTRACT(repository.description,r'(?:\w){199}(\w)') as Pos200,
REGEXP_EXTRACT(repository.description,r'(?:\w){200}(\w)') as Pos201,
FROM [publicdata:samples.github_nested] LIMIT 1000
戻り値:
Failed to parse regular expression "(?:\w){162}(\w)": pattern too large - compile failed
しかし、実行時:
SELECT repository.description,
REGEXP_EXTRACT(repository.description,r'(?:\w){162}(\w)') as Pos163,
FROM [publicdata:samples.github_nested] LIMIT 1000
すべて正常に動作します...
1 つのクエリで使用できる REGEXP_EXTRACT の数、またはそれらを組み合わせた複雑さに制限はありますか?