정규표현식이란?
- 문자열의 특정 패턴을 찾아내는 문자열의 조합이다.
- 단순 검색이 아닌 복잡한 조건의 패턴을 찾아내는 기술.
- A regular expression is a sequence of characters that specifies a search pattern.
왜 사용하는지?
- 복잡한 문자열 속에서 원하는 조건에 맞는 문자열을 찾아내기 위해 사용한다.
어떻게 사용하는지?
- expression과 flag를 활용해 조건에 맞는 문자열을 검색한다.
g (global) : 존재하는 모든 검색내용 찾기 (하나 찾은 뒤 그만두지 않고)
i (case insensitive) : 대소문자 구분하지 않고 모두 찾기
s (single line=dotall) : 특수문자 . \n 기호까지 포함하여 매칭하게 하는 옵션
m (multy line) : 쓰인 문장을 한 문장이 아닌 여러 문장으로 구분해서 처리하는 옵션 (multy line 사용하지 않을 시 전체를 한 문장으로 봄)
| 또는
() Group
[] 문자셋, 괄호 안의 어떤 문자든 : [a-zA-z0-9-]
[^] 부정 문자셋, 괄호안의 내용 제외
(?:) 찾지만 그룹으로 기억하지 않음
? zero or one (없거나 하나 있거나)
* zero or more (없거나 있거나 많거나)
+ one or more (하나 또는 많이)
{n} n번 반복
{min,} 최소
{min, max} 최소, 그리고 최대
\b 단어 경계
\B 단어 경계가 아님
^ 문장의 시작
$ 문장의 끝
\ 특수문자가 아닌 문자
. 어떤 한 글자(개행문자\n 제외하고)
\d digit 숫자
\D digit 숫자 아님
\w word 문자
\W word 문자 아님
\s space 공백
\S space 공백 아님