
정규표현식에 대해 알아보자
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 공백 아님 |