주 컨텐츠로 이동
Workday User Guide
최종 업데이트: 2023-06-23
정규식 캡처 그룹

정규식 캡처 그룹

정규식에서 하위 패턴을 괄호로 묶어
그룹을
정의할 수 있습니다. 정규식 그룹을 사용하여 다음을 수행할 수 있습니다.
  • 한 번에 전체 그룹에 정규식 연산자와 수량자를 적용합니다.
  • 캡처링 그룹을 생성합니다.
    캡처링 그룹을 사용하여 정규식에서 저장하거나 반환할 매칭 값을 지정할 수 있습니다. 기본적으로 그룹은 매칭 항목을 생성하는 텍스트를
    캡처합니다
    . 그룹화된 하위 표현식과 일치하는 문자열 부분은 나중에 검색하거나 사용할 수 있도록 메모리에 캡처됩니다.
  • 비포획 그룹을 생성합니다.

그룹 번호 매기기

정규식에는 2개 이상의 그룹이 포함될 수 있으며 그룹은 중첩될 수 있습니다. 그룹은 첫 번째 여는 괄호부터 시작하여 왼쪽에서 오른쪽으로 1-
n
으로 번호가 매겨집니다. 항상 전체 매칭을 포함하는 암시적 그룹 영(0)이 있습니다. 예를 들어 다음과 같습니다.
(a(b*))+(c)
이 패턴에는 3개의 그룹이 포함됩니다.
group 1: (a(b*)) group 2: (b*) group 3: (c)

그룹 캡처 및 REGEX 함수

다음을 사용할 수 있습니다.
REGEX
문자열의 일부를 추출하는 함수 다음
REGEX
함수는
첫 번째
캡처링 그룹의 값만 반환합니다.
username
@
provider
패턴의 이메일 주소가 포함된
email
필드명이 있다고 가정합니다.
도메인
. 다음을 사용할 수 있습니다.
REGEX
이메일
필드에서 이메일 주소의
제공자
부분만 반환하는 함수:
REGEX([email],"^[a-zA-Z0-9._%+-]+@
([a-zA-Z0-9._-]+)
\.[a-zA-Z]{2,4}$")

그룹 캡처 및 REGEX_REPLACE 함수

다음을 사용할 수 있습니다.
REGEX_REPLACE
함수를 사용하여 문자열을 매칭하고 매칭된 문자열을 다른 값으로 바꿉니다. 다음
REGEX_REPLACE
함수는 3개의 인수를 사용합니다.
  • 입력 문자열
  • 정규식 매칭
  • 대체 정규식
캡처링 그룹을 사용하여 역참조를 캡처할 수 있지만, 항상 전체 매칭 항목이 반환됩니다.

그룹 및 역참조 캡처

역참조를 사용하여 특정 캡처링 그룹 번호의 매칭된 내용을 다시 참조할 수 있습니다. 일반적으로 캡처링 그룹이 포함된 동일한 정규식에서 역참조를 사용합니다. 앞에 백슬래시가 있는 그룹 번호를 참조하여 역참조를 지정합니다. 사용
\1
- 캡처링 그룹 1 참조
\2
캡처링 그룹 2를 참조하는 식입니다.
한 쌍의 HTML 태그와 그 안에 포함된 텍스트를 매칭한다고 가정합니다. 개시 태그를 캡처링 그룹으로 캡처한 다음, 역참조를 사용하여 해당 종료 태그를 매칭할 수 있습니다.
(
<
([A-Z][A-Z0-9]*)
\b[^>]*>.*?</
\2
>
)
이 정규식에는 2개의 캡처링 그룹이 포함됩니다.
  • 그룹 1은 가장 바깥쪽 괄호를 포함하며 전체 문자열을 캡처합니다.
  • 그룹 2는 다음에 매칭되는 문자열을 캡처합니다.
    [A-Z][A-Z0-9]*
    .
그러면 다음을 사용하여 그룹 2를 참조할 수 있습니다.
\2
해당 닫는 HTML 태그와 매칭되도록 역참조를 추가합니다.
다음을 사용하는 경우
REGEX_REPLACE
함수에서 역참조를 사용하여
이전
정규식의 캡처링 그룹을 참조할 수 있습니다. 이전 정규식에서 역참조를 사용하여 그룹을 참조하는 경우 구문이 약간 다릅니다. 달러 기호(
$
)은 그룹 번호 앞에 있습니다(예:
$1
이전 표현식의 그룹 1에 대한 역참조를 지정합니다.
값의 형식이 다음과 같은
전화번호
필드가 있다고 가정합니다.
xxx.xxx.xxxx
. 다음 예에서는
phone_number
의 값을 매칭하고 다음과 같은 형식의 값으로 바꿉니다.
(xxx) xxx-xxxx
:
REGEX_REPLACE([phone_number],"([0-9]{3})\.([[0-9]]{3})\.([[0-9]]{4})","
\($1\) $2-$3
")
대체 표현식에서 역참조를 확인합니다. 일치하는 이전 표현식의 캡처링 그룹을 참조합니다.

비수집 그룹

경우에 따라 괄호를 사용하여 하위 패턴을 그룹화하지만 텍스트는 캡처
하지 않을 수 있습니다
. 비포착 그룹은 다음으로 시작합니다.
(?:
(여는 괄호 뒤에 물음표 및 콜론 포함) 예를 들어,
h(?:a|i|o)t
매칭
hat
또는
hit
또는
hot
을(를) 캡처하지 않습니다.
a
,
i
, 또는
o
하위 표현식에서 가져옵니다.