[reg] Subexpression
목차

07. 하위 표현식 사용하기

하위 표현식 이해

중첩된 하위 표현식

07. 하위 표현식 사용하기

2022년 9월 9일
  • 하위 표현식(Subexpression)(())을 사용하여 여러 표현식을 어떻게 묶는지 알아보자!

하위 표현식 이해

예시비교

- 예시
1920-06-07 the cat   scattered    his food all over room,

대입식매칭 결과
1.  {2,}1920-06-07 the cat   scattered    his food all over room,
2. ( ){2,}1920-06-07 the cat   scattered    his food all over room,
3. 19|20\d{2}1920-06-07 the cat   scattered    his food all over room,
4. (19|20)\d{2}1920-06-07 the cat   scattered    his food all over room,

📌 1번 항목은 앞에 있는 세미콜론을 대상으로 반복(;) 되기때문에 매칭이 x 📌 3번 항목은 '|'(OR 연산자)를 사용하였다(19 또는 20 과 일치)하며 하위표현식 지정을 안해주었기 때문에 19만 지정됨

🔑 가독성을 높이기 위한 하위표현식(()) 사용도 추천 🔑

중첩된 하위 표현식

  • 예시

    • IP 추적 패턴
    1. 모든 한 자리 혹은 두 자리 숫자 -> (\d{1,2})

    2. 1로 시작하는 모든 세 자리 숫자 -> (1\d{2})

    3. 2로 시작하면서 두번째 자리 숫자가 0부터 4사이의 모든 세자리 숫자 -> (2[0-4]\d)

    4. 25로 시작하면서 세번째 자리 숫자가 0부터 5사이의 모든 세자리 숫자 -> (25[0-5])

    • Yelim.com [12.159.46.200] with 32bytes of data
대입식매칭 결과
(((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}((\d{1,2})|(\d{2})|(2[0-4]\d)|(25[0-5]))Yelim.com [ 12.159.46.200 ] with 32bytes of data