작은 메모장
27. PCRE 본문
정규표현식
PCRE, 혹은 정규표현식이라고 불리는 문자표현 방식은
본래의 의미와는 다르게 사용하는 특수문자로 이루어진다.
이를 "메타 문자"라고 부르며, 정규 표현식의 자음과 모음이라고 생각하면 편하다.
정규표현식의 검사 방식은 크게 2가지로 나뉜다.
문자열 검사는 말 그대로 문자열을 비교하는 것이다.
고정적인 문자열을 비교할 수도 있고, 가변적인 문자열 범위를 비교할 수 있다.
반면 검사 방식 조절은 수성자와 수량자를 기반으로 비교가 진행된다.
메타문자
메타문자는 위에서 설명했듯 정규표현식에서 특수한 용도로 사용하는 특수문자다.
고정적으로 사용하는 메타 문자가 몇 가지 있는데, 다음과 같다.
이런 문자 외의 문자가 메타 문자로 정해져 있고, 다른 하나는 아스키코드다.
이런 메타 문자는 정규표현식에서 아주 유용하게 사용하는데,
이런식으로 줄이 바뀌는 곳을 탐색하는 등의 탐색이 가능하다.
메타 문자는 가변적인 범위의 문자열 검사 또한 지원한다.
이 조건은 가변 범위 문자열 검사를 진행할 때 사용하는 조건으로,
범위를 표시할 때에는 -를 사용하여 범위를 표시한다.
검사 위치를 특정하고 싶을 때 사용하는 조건이다.
보통 ^ 혹은 $를 /gm 옵션과 함께 사용하는 편이다.
위 조건은 수량을 결정하는 메타문자로, 수량자라고도 부르기도 한다.
특이하게도 수량자는 해당 위치의 문자를 검사하는 것이 아닌, 해당 위치의 앞의 문자를 검사하려는 특징이 있다.
무슨 소리냐고? 다음을 보자
위 메타문자를 분석하면 다음과 같다.
- .*
첫번째 부분부터 다음 메타문자까지 아무 문자나 전부(0개 이상) 선택한다 - \n
줄바꿈 문자를 선택한다. 이 경우 문자열의 끝이다. - .
다음 한 글자만 아무 문자나 선택한다.
이런식으로 수량자가 동작하게 된다.
정규표현식
정규 표현식은 아래 링크에서 더욱 자세하게 소개했다.
실습
정규 표현식 실습은 아래 사이트에서 진행한다.
https://regex101.com/r/c7B3tk/1
정규 표현식 실습은 아래 링크에서 진행하자.
'실더스 루키즈 교육' 카테고리의 다른 글
29. Splunk (0) | 2024.01.25 |
---|---|
28. SQL, Snort 결과 최적화 (0) | 2024.01.24 |
26. Snort 룰 (0) | 2024.01.23 |
25. Snort 기초 설정 (0) | 2024.01.22 |
24. 개인정보보호법 개요 2 (0) | 2024.01.05 |