![[reg] Subexpression](/_next/image?url=%2Fimages%2Fempty.png&w=2048&q=75)
0
목차
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 추적 패턴
-
모든 한 자리 혹은 두 자리 숫자 ->
(\d{1,2}) -
1로 시작하는 모든 세 자리 숫자 ->
(1\d{2}) -
2로 시작하면서 두번째 자리 숫자가 0부터 4사이의 모든 세자리 숫자 ->
(2[0-4]\d) -
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 |