메타문자 그룹화

(2023-12-15)

전방 탐색, 후방 탐색


1. [정규표현식 메타문자]  서브 패턴 (그룹화) (캡처그룹, capture group)  :  ( )

  ※ (서브 패턴은, 부품별로 감싸서 구별짓기 위함)
     -  例) color 또는 colour 매치하려면, col(o|ou)r

  ㅇ 주요 특징 및 역할
     - 문자열 (서브패턴) 위주의 탐색
        . 서브 패턴을 만들어 재활용 할 때 유용
     - 일치한 문자열 (서브패턴, 그룹)의 저장 (캡처) 및 재활용
        . 검사 결과의 임시 저장 후, 번호를 붙여, 다시 불러쓸 수 있음 (backreference : 역 참조)
           .. 그룹으로 묶은 패턴의 검사 결과 뒤에, 수량자를 붙여, 어떤 추가 작업에 활용 가능
     - 검사 결과의 저장 또는 비 저장 선택 가능 ☞ 아래 2.번항 참조
     - 탐색 방향을 달리 정할 수 있음


2. [정규표현식 메타문자]  그룹화 검사 결과의 저장(캡처) 또는 비 저장(논 캡처,비 참조) 구분

  ㅇ 기본적인 그룹화 : (), (?:)
     - 매치 결과를 `캡처(저장)하는` 그룹화, ()
     - 매치 결과를 `캡처(저장)하지 않는` 그룹화, (?: ) 또는 (\% \) (\% \)


3. [정규표현식 메타문자]   탐색 방향까지도 지정 가능한, 그룹화 기능의 확장

  ㅇ 탐색 방향을 결정하는 그룹화
     - 문자열이 아닌 위치에 일치시킴
        . 일치 결과의 위치를 반환하게되며,
        . 이때 반환되는 문자가 없으므로, 반환 길이는 0 임

  ㅇ 구분
     - 긍정형 전방탐색 : (?=)
        . 지정한 탐색 문자열 (?=` `)의 위치를, 앞에서 뒤로 찾음
           .. 例) 1000원 => .+(?=원) => 1000
           .. 例) http://www.example.com => .+(?=:) => http
           .. 例) abracadabra => a(?=..a) => abracadacra : 처음`abra` 및 끝`acra`
     - 부정형 전방탐색 : (?!) 
        . 지정한 탐색 문자열 (?!=` `)이 아닌 위치를, 앞에서 뒤로 찾음
           .. 例) (?!4869)\d{4} (?!4869)\d{4}  :  4869 이외 4자리 숫자 위치를 전방향(순방향)으로 찾음
     - 긍정형 후방탐색 : (?<=)
        . 지정한 탐색 문자열 (?<=` `)의 위치를, 뒤에서 앞으로 찾음
     - 부정형 후방탐색 : (?<!) 
        . 지정한 탐색 문자열 (?<!` `)이 아닌 위치를, 후방향(역방향)으로 찾음

     * (전방 탐색 : lookahead, 후방 탐색 : lookbehind, 역 참조 : backreference)

정규표현식
   1. 정규 표현식   2. 메타 문자   3. 메타문자 수량자   4. 메타문자 그룹화   5. 메타문자 앵커   6. 정규표현식 활용 기초   7. 정규표현식 예  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"