정규표현식(Regular Expression)은 문자열을 처리하는 방법 중 하나로 특정한 조건의 문자를 검색하거나 치환하는 과정을
매우 간편하게 처리 할 수 있도록 하는 수단.
추천 참고 사이트 (zvon.org)
- 정규표현식은 대소문자 및 공백을 구분함.
- ^who : who로 시작하는 문자열
- word$ : who로 끝나는 문자열
- 정규표현식에서 의미있는 수식('^', '$', '\', '.' 등등...)을 문자로 사용하기 위해서는 앞에 \를 사용해준다.
ex) $25에서 $로 시작하는 문자를 검색하고 싶으면 ^$가 아니라 ^\$로 검색해야함. - . : 한개의 문자(모든 문자 + 공백도 포함)
ex) .... 의 경우 4개의 문자를 의미함. 검색할 대상의 문자가 3개 이하라면 검색 결과 없음. - [] : square bracket안의 문자들과 매칭되는 문자를 찾음 (1개의 문자로 취급. 순서는 상관 없음)
- [-] : '-'의 앞 뒤에있는 문자 사이의 모든 문자열을 포함(물론, 정규표현식은 대소문자 구분)
ex) [c-k] = [cdefghijk] - [^] : '^'뒤에 나오는 문자열을 제외한 나머지 모든 문자
ex) [^b-z] = [a] / [^ ] : 공백을 제외한 모든 문자 - (||) : '|'는 구분자이며, 구분자로 구분되어있는 문자열들과 일치하는 문자열 하나를 찾음.
- * : '*'의 앞문자가 0번 이상 나오는 것을 찾음(안나와도 됨)
ex).* : 모든 문자 다 찾음 - + : '+'의 앞문자가 한번 이상 나오는 것을 찾음.
- ? : '?'의 앞문자가 1번 나오거나 나오지 않는 경우.
- {숫자} : 앞에있는 문자가 숫자의 갯수만큼 나오는 경우를 찾음
.{5} = ..... / []{1,3} : []에 해당하는 문자가 최소 1개~최대 3개인 경우 / []{3,} : []에 해당하는 문자가 최소 3개 이상 - \w : 알파벳, 숫자, _ 를 찾음(1개의 문자로 취급, 공백이나 다른 특수문제는 제외됨)
\w = [A-z0-9_] - \W : 알파벳, 숫자, _를 제외한 나머지 모든 문자
- \s : 공백
- \S : 공백을 제외한 모든 문자(1개의 문자)
- \d : 숫자
\d = [0-9] - \D : 숫자를 제외한 모든 문자.
- \b : 단어의 경계(단어의 시작이든 끝의 커서 위치라고 생각하면 될 듯.)
- \B : 단어의 경계에 있지 않은 단어
- \A : 문장의 시작
- \Z : 문장의 끝
- (?=<pattern>) : ()안에 있는 패턴 앞의 문자 선택(패턴은 포함되지 않음.)
ex) AAA(?=X)로 AAAX---AAA를 탐색하면 결과는 AAAX---AAA 선택됨(굵은 글씨가 선택된 문자열) - (?!<pattern>) : ()안에 있는 패턴 앞의 문자를 제외하고 선택
ex) AAA(?!X)로 AAAX---AAA를 탐색하면 결과는 AAAX---AAA 선택됨(굵은 글씨가 선택된 문자열)
중간중간 헷갈리거나 이해되지 않는 몇몇 정규식표현식 예들을 건너뜀.
해당 내용은 나중에 정규표현식을 사용할때 마주치게 된다면 좀 더 자세히 살펴봐야함.
2016.09.18 생활코딩(https://opentutorials.org) 참조