나는 다음과 같은 현상을 찾을 실패 컴파일오류 : ""정규 표현식을 구문 분석하지 못했습니다 패턴이 너무 커서는 -
내가 필드의 100 단위가 REGEXP_EXTRACT 기능을 사용하여 추출과 BQ 쿼리가 있습니다.
새 표현식을 추가했는데 다음 오류가 발생했습니다. 정규 표현식 ""을 (를) 파싱하지 못했습니다. 패턴이 너무 커서 - 컴파일에 실패했습니다.
이 표현식 만 쿼리 할 때 모든 것이 잘 실행되고 큰 쿼리에서 오류가 발생합니다.
Failed to parse regular expression "(?:\w){162}(\w)": pattern too large - compile failed
하지만 실행하는 경우 :
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
그것은 반환
이
은 GitHub의 샘플 데이터에 문제가베이스와 간단한 정규식의 복제입니다SELECT repository.description,
REGEXP_EXTRACT(repository.description,r'(?:\w){162}(\w)') as Pos163,
FROM [publicdata:samples.github_nested] LIMIT 1000
모든 것이 정상적으로 실행됩니다 ...
단일 쿼리에서 사용할 수있는 REGEXP_EXTRACTs 수 또는 그 복합성에 제한이 있습니까?
샘플 작업 ID? – Pentium10