정규표현식에 대해 알아보자
2021, Mar 04    
      해당 내용은 드림코딩 엘리님의 유튜브를 참고 했습니다.
정규표현식이란
/regex?/i  정규표현식, RegEx는 Regular Expression의 약자이다
텍스트에서 우리가 원하는 특정한 패턴을 찾을 때 요긴하게 쓸 수 있다. 그리고 그 패턴을 다른 문자열로 바꿔줄 수 도 있다.
또는 사용자가 입력한 데이터가 이메일이나 패스워드와 같은 특정한 패턴과 일치하는지 유효성 검사에도 사용할 수 있다.
이제는 다양한 언어에서도 지원이 가능하고 테스트나 코드 에디터에서도 정규표현식을 이용해서 검사하는 것이 가능해진다.
정규표현식은 /regex?/i 이렇게 slashes를 이용해서 ‘나는 정규표현식이야’ 라고 나타내주면 되고
이 //안에 찾고자하는 pattern을 찾고 i에 어떤옵션을 이용해서 검색할건지 flag를 활용할 수 있다.
그래서 공부할 것은, 어떻게 우리가 원하는 패턴을 작성하느냐가 중요하다.
4가지를 나눠서 문법을 정리해보자.
정규표현식 문법정리
Groups and ranges (그룹, 레인지)
| Character | 뜻 | 
|---|---|
| | | 또는 | 
| () | 그룹 | 
| [] | 문자셋, 괄호안의 어떤 문자든 | 
| [^] | 부정 문자셋, 괄호안의 어떤 문자가 아닐 때 | 
| (?:) | 찾지만 기억하지는 않음 | 
Quantifiers (수량)
| Character | 뜻 | 
|---|---|
| ? | 없거나 있거나(zero or one) | 
| * | 없거나 있거나 많거나(zero or more) | 
| + | 하나 또는 많이 (one or more) | 
| {n} | n번 반복 | 
| {min,max} | 최소, 그리고 최대 | 
Boundary-type (단어 경계)
| Character | 뜻 | 
|---|---|
| \b | 단어경계 | 
| \B | 단어 경계가 아님 | 
| ^ | 문장의 시작 | 
| $ | 문장의 끝 | 
Character classes (문자)
| Character | 뜻 | 
|---|---|
| \ | 특수 문자가 아닌 문자 | 
| . | 어떤 글자 (줄바꿈 문자 제외) | 
| \d | digit 숫자 | 
| \D | digit 숫자 아님 | 
| \w | word 문자 | 
| \W | word 문자 아님 | 
| \s | space 공백 | 
| \S | space 공백 아님 |