정규표현식이란?
문자열을 처리하는 방법
원하는 문자를 검색하거나, 찾아서 바꿀 수 있다.
정규표현식에 사용되는 메타 문자
원래 그 문자가 가진 뜻이 아닌 특별한 용도로 사용하는 문자
. ^ $ * + ? { } [ ] \ | ( )
메타 문자로, 원하는 문자 선택하기
문자 클래스 [] 선택하기
[abc] : a, b, c 중 한개의 문자와 일치하는 것 선택
"a" : "abc"의 "a"와 일치
"before" : "abc"의 "b"와 일치
"dude" : "abc"와 일치하지 않음
[a-c] : [abc]와 같음 하이픈(-)을 사용하여, 범위지정 가능
\d : 숫자 선택 [0-9]
\D : 숫자가 아닌 것 선택 [^0-9]
\s : 공간 문자 선택 [ \t\n\r\v] (맨앞의 공백-space 도 포함)
\s : 공간 문자가 아닌 것 선택 [^ \t\n\r\v]
\w : 문자+숫자 선택 [a-zA-Z0-9_]
\W : 문자+숫자가 아닌 것 선택[^a-zA-Z0-9_]
# 메타문자 "^"는 반대(not)의 의미를 가짐
\n(줄바꿈 문자)을 제외한 모든 문자 선택하기 Dot(.)
a.b : "a" + 모든문자 + "b" 선택
a[.]b : "a" + Dot(.)문자 + "b"
"a.b" 문자열과 일치
"a0b" 문자열과는 일치하지 않음
반복 (*)
ca*t : "a"가 반복되어야 한다
ct : "a"가 0번 반복되므로 일치
cat : "a"가 1번 반복되므로 일치
caaat : "a"가 3번 반복되므로 일치
반복 (+)
ca+t : "a"가 1번이상 반복되어야 한다
ct : "a"가 0번 반복되는것은 일치하지 않음
cat : "a"가 1번 반복되므로 일치
caaat : "a"가 3번 반복되므로 일치
반복 ({m,n}, ?)
ca{3}t : "a"가 3번 반복되어야 한다
ct : "a"가 0번 반복되므로 일치하지 않음
cat : "a"가 1번 반복되므로 일치하지 않음
caaat : "a"가 3번 반복되므로 일치
ca{1,3}t : "a"가 1~3번 반복되어야 한다
ct : "a"가 0번 반복되므로 일치하지 않음
cat : "a"가 1번 반복되므로 일치
caaat : "a"가 3번 반복되므로 일치
선택적 요소 (?)
ab?c : "a" + b(있어도되고 없어도됨) + "c"
ac : "a","c" 일치
abc : "a","b","c" 일치
시작부분 (^)
^ab : ab로 시작해야함
ac : 일치하지 않음
abc : "ab" 일치
cab : 일치하지 않음
경계부분 (\b)
\ba : 왼쪽에 a로 시작하는 경계 찾기
abc : "a" 일치
b ac : "a" 일치
a\b : 오른쪽에 a로 끝나는 경계 찾기
abc : 일치하지 않음
bca : "a" 일치
ba ca : "a" 두번 일치
경계부분 제외한 부분 (\B)
그룹짓기 ( () )
(abc)+ : "abc"가 반복되는 부분 찾기
반응형