Regexp or Regex로 줄여서 말하기도 합니다.
이를 이용하여 문자열을 검색하거나 치환하는 것으로 응용할 수 있습니다.
이제 정규표현식의 규칙을 살펴보겠습니다.
문자
|
설명
|
비고
|
*
|
앞의
문자나 부분식을 0개 이상 찾음
|
{0, }과 같음
|
+
|
앞의
문자나 부분식을 1개 이상 찾음
|
{1, }과 같음
|
?
|
앞의
문자나 부분식을 0개나 1개 찾습니다
|
{0, 1}과 같음
|
.
|
\n을 제외한 모든 글자를 의미
|
|
[a-z]( [^a-z])
|
[ ]안의 범위에 해당하는 문자를 검색([ ]안의 범위에 해당하지 않는 문자를 검색)
|
범위를
특정 값으로 정할 수도 있음
예) [abc]
|
\b(\B)
|
단어와
공백 사이의 위치를 검색(\b를 제외한 전부를 검색)
|
|
\d(\D)
|
숫자를
의미
|
|
\n
|
줄바꿈
문자를 의미
|
|
\r
|
캐리지
리턴 문자를 의미
|
|
\s(\S)
|
공백, 탭 용지 공급 등 모든 공백문자를 의미(공백을 제외하는 것을
의미)
|
|
\t
|
탭 문자를
의미
|
`
|
^
|
문자열의 시작위치에서
검색
|
|
$
|
문자열의 끝 위치에서
검색
|
|
{n}
|
{}앞에 글자를 n개 반복함을 의미
|
|
{n,m}
|
n과 m 사이의 수만큼 반복함을 의미
|
|
\
|
다음에 오는 문자를
특수문자, 리터럴, 역참조, 8진수, 이스케이프로 인식
|
|
(pattern)
|
패턴을 체크하고
체크한 값을 변수로 저장
|
|
(?:pattern)
|
패턴을 체크하고
체크한 값을 변수로 저장하지 않음
|
규칙만 읽어보면 아직 뭐라는 건지, 어떻게 찾는 지 감이 잘 오지 않습니다.
http://www.regexr.com/ 에서 온라인으로 정규 표현식을 연습할 수 있습니다.
http://www.regexr.com: 사이트 화면 |
다음 글에서는 예를 통해 정규 표현식과 YARA를 이용하여 특정문자열을 검색하는 rule을 작성해 보겠습니다. :-)
댓글 없음:
댓글 쓰기