본문 바로가기
  • Hello_
Tools

정규표현식 (Regex) 정리

by LDwDL 2023. 2. 16.
728x90
반응형

본 포스팅에서는 문자열에 사용되는 형식 언어인 정규표현식에 대해 정리하고자 합니다.

 

정규 표현식 (Regex)

[Anchors]

^x
문자열의 시작 혹은 x 문자로 시작됨을 의미
\A
문자열의 시작
x$
문자열의 끝 혹은 x 문자로 끝남을 의미
\Z
문자열의 끝
\b
문자와 공백사이의 문자를 의미
\B
문자와 공백사이가 아닌 문자를 의미
\<
Word 시작
\>
Word 종료

 

[Character Classes]

\c
Control character
\s
공백 문자를 의미
\S
공백 문자가 아닌 것을 의미
\d
숫자를 의미
\D
숫자가 아닌것을 의미
\w
알파벳 + 숫자 + _ 중 하나임을 의미
\W
알파벳 + 숫자 + _ 가 이닌 문자를 의미
\x
16진수 숫자를 의미
\O
8진수 숫자를 의미

 

[Posix]

[:upper:]
대문자
[:lower:]
소문자
[:alpha:]
모든 알파벳 
[:alnum:]
숫자와 알파벳 
[:digit:]
숫자
[:xdigit:]
16진수
[:punct:]
Punctu­ation
[:blank:]
스페이스바 혹은 탭
[:space:]
공백 문자
[:cntrl:]
제어 문자
[:graph:]
숫자와 알파벳과 Punctu­ation
[:print:]
숫자와 알파벳과 Punctu­ation과 공백 문자
[:word:]
숫자와 알파벳과 _ 

※ Punctu­ation : period (.), comma (,), semicolon (;), colon (:), exclamation point (!), question mark (?), parentheses (( and )), brackets ([ and ]), brace ({ and })

 

[Assertions]

X(?=Y)
Lookahead assertion, Y 패턴 앞에 X인 경우
X(?!Y)
Negative lookahead, Y 패턴 앞에 X가 아닌 경우
(?<=Y)X
Lookbehind assertion, Y 패턴 뒤에 X인 경우
(?!=Y)X or (?<!Y)X
Negative lookbehind, Y 패턴 뒤에 X가 아닌 경우

 

[Quantifiers]

*
0번 이상 반복
+
1번 이상 반복
?
0번 혹은 1번 반복
{N}
정확히 N번 반복
{N,}
N번 이상 반복
{N1,N2}
N1번~N2번 (N1과 N2 포함) 반복

 

[Special Characters]

\n
새 라인, 다음 행으로 줄을 바꿈
\r
캐리지 리턴, 현재 행 맨 앞으로 이동
\t
\v
버티컬 탭
\f
폼피드, 프린트 출력시 현재 페이지 마침

 

[Gropus and Ranges]

.
새 라인 (\n)을 제외한 모든 문자
(a|b)
a 혹은 b
(...)
그룹
(?:...)
Passive (non-c­apt­uring) group
[abc]
(a 혹은 b 혹은 c) 범위 
[^abc]
(a 혹은 b 혹은 c) 해당 범위가 아닌 경우
[a-q]
a 부터 q 까지 소문자
[A-Q]
A 부터 Q까지 대문자
[0-7]
0부터 7까지 숫자
 

해당 정규식을 활용하여 다양하게 문자열을 처리할 수 있습니다.

 
참고 : https://cheatography.com/davechild/cheat-sheets/regular-expressions/
https://hamait.tistory.com/342
https://elvanov.com/2388

 

728x90
반응형

댓글