1

以下の現象が見られます。

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 の数、またはそれらを組み合わせた複雑さに制限はありますか?

4

1 に答える 1