사용 예
REGEXP_REPLACE(Campaign , '(Sale):(Summer)', '\\2 \\1')
구문
REGEXP_REPLACE(X, regular_expression, replacement)
매개변수
X
- 필드를 포함하는 필드 또는 표현식regular_expression
:field_expression
의 일부와 일치하는 정규 표현식replacement
:field_expression
의 일치되는 부분과 교체할 텍스트
반환 값
REGEXP_REPLACE 함수는 text
값을 반환합니다.
참고
REGEXP_REPLACE
는 regular_expression
과 일치하는 X
의 모든 하위 문자열이 replacement
로 대체된 텍스트를 반환합니다.
replacement
인수 내에 백슬래시로 이스케이프 처리된 숫자(\1~\9)를 사용하여 regular_expression
패턴에서 괄호로 묶인 해당 그룹과 일치하는 텍스트를 삽입할 수 있습니다. 전체 일치 텍스트를 나타내려면 \0을 사용합니다.
정규 표현식에 백슬래시를 추가하려면 먼저 이스케이프 처리해야 합니다. 예를 들어 SELECT REGEXP_REPLACE('abc', 'b(.)', 'X\\1');
는 aXc
를 반환합니다. 원시 문자열을 사용하여 이스케이프 처리에서의 한 레이어를 삭제할 수도 있습니다(예: SELECT REGEXP_REPLACE('abc', 'b(.)', r'X\1');
).
REGEXP_REPLACE
함수는 중첩되지 않는 일치 항목만 바꿉니다. 예를 들어 banana
내의 ana
를 바꿀 때는 2개가 아니라 1개만 바뀝니다.
예
수식 예 | 입력 | 출력 |
REGEXP_REPLACE(LOWER(Campaign), ".bc123", "Summer Sale") |
abc123 ABC123 BBC123 |
Summer Sale |
REGEXP_REPLACE(Campaign , '(.*):(.*)', '\\2 \\1') |
Sale:Summer Sale:Winter |
Summer Sale Winter Sale |