무궁무진한 정규표현식
제대로 정리하고 활용에 능숙해지기 위해 정리해주었습니다!
정규표현식은 대/소문자를 구분합니다!
First matches, All matches
case : ^who -> 문자열 중 시작되는 것만 체크
case : who$ -> 문자열 중 끝에 who로 끝나는 경우만 체크
example) 달러로 시작되는 정규표현식 작성하고 싶다면? ^$
\백스페이스를 사용하면 정규표현식 의미가 아닌 문자 그대로로 인식된다.
(이 백스페이스를 escape라고 말한다. 정규표현식에서 '탈출'하게 해주어 문자로 파싱하게 해주는 역할 : 역슬래시)
example) 달러로 끝나는 정규표현식 작성하면? $$
example) 역슬래시를 문자열 중에서 선택하는 정규표현식 작성하면? \
(역슬래시를 escape시켜준다!)
포인트 .은 모든 character를 매치한다.
(어떠한 문자든, 특수문자든, 공백이든 전체 가리키는 와일드카드 역할)
...... 어떠한 문자든 상관없이 6개지목 (뒤에 남는 것들 5개여서 선택되어지지않음)
^.
. 그냥 .
. 모든 문자
. 그냥 .
따라서 .(한글자의 모든문자). 선택이므로
.K.선택되어진다.
지정해야되는 문자가 많다면 range(-) 기호 사용
Case 1, 2는 같은 결과이다.
[C-Ka-d2-6]
: CDEFGHIJK abcd 23456를 의미.
파이프 기호는 한 덩어리로 '또는' 의미
어떠한 패턴이 얼마나 등장하느냐 Quantifiers:수량자
앞에 "div" 맨 뒤 "div"선택되어져서 전체 선택
앞에 div, 분절해서 선택한다.
\w : word = alphabet+number + '' =[A-z0-9]
공백은 word에 포함안된다.
대문자 W는 반대를 의미한다.
\W : not word = [^A-z0-9_]
워드바운더리 뒤로 빼면, 각 뒤에 문자 선택
\b\w+\b : 한글자 이상 가진 word 선택
1) \bcat : cat단어 가진 첫 번째 문자 선택
2) cat\b : cat단어 가진 뒤 문자 선택
1) 소문자 앞
2) 소문자 앞이 아닌 모든 글자
1) 앞에 있는 세글자
2) 뒤에 있는 세글자
1) ^Ere 멀티라인에서 여러 개 Ere 선택되어진다.
2) \AEre : 멀티라인임에도 불구하고 첫 번째 행에 Ere 선택되어짐
1) test$ 여러 개 선택되어진다
2) test\Z : 멀티라인임에도 불구하고 마지막 행 test만 선택 되어짐
문자열 중 시작 '^' 또는 '\A'
문자열 중 끝 '$' 또는 '\Z'
문자 /w 문자아님 /W
숫자 /d 숫자아님 /D
바운더리 /b 그외 바운더리 선택 /B