적용 대상:
Databricks SQL
Databricks Runtime
식과 일치하는 str 모든 문자열을 regexp 추출하고 그룹 인덱스에 regex 해당합니다.
구문
regexp_extract_all(str, regexp [, idx] )
인수
-
strSTRING: 일치시킬 식입니다. -
regexpSTRING: 일치하는 패턴이 있는 식입니다. -
idx: 0보다 크거나 같은 선택적 정수 식입니다(기본값 1).
반품
ARRAY<STRING>입니다.
문자열은 regexp 정규식이어야 합니다. 지원되는 구문 에 대한 정규식을 참조하세요.
리터럴을 사용하는 경우 (raw-literal접두사)r 이스케이프 문자 사전 처리를 방지합니다.
regexp에는 여러 그룹이 포함될 수 있습니다.
idx는 추출할 regex 그룹을 나타냅니다.
idx가 0이면 전체 정규식과 일치시키는 것입니다.
일반적인 오류 조건
예제
모든 일치 항목에서 캡처 그룹 추출
idx 는 각 일치 항목에서 반환할 캡처 그룹을 선택합니다.
> SELECT regexp_extract_all('100-200, 300-400', r'(\d+)-(\d+)', 1);
[100, 300]
> SELECT regexp_extract_all('100-200, 300-400', r'(\d+)-(\d+)', 2);
[200, 400]
문자열의 모든 숫자 추출
> SELECT regexp_extract_all('There are 10 cats, 20 dogs, and 30 birds', r'(\d+)', 1);
[10, 20, 30]
모든 해시태그 추출
> SELECT regexp_extract_all('Posts tagged #data #ai #sql', r'#(\w+)', 1);
[data, ai, sql]
그룹 없는 패턴의 모든 일치 항목 추출
패턴에 캡처 그룹이 없는 경우 0을 idx 사용하여 전체 일치 항목을 반환합니다.
> SELECT regexp_extract_all('Send to alice@example.com or bob@example.org', r'\w+@\w+\.\w+', 0);
[alice@example.com, bob@example.org]
잘못된 정규식 패턴
> SELECT regexp_extract_all('abc', '[invalid', 0);
Error: INVALID_PARAMETER_VALUE.PATTERN