본문 바로가기
기본 쌓기/우아한테크

우아한테크)빙봉의 정규표현식

by code_learner 2022. 2. 14.

https://www.youtube.com/watch?v=CjoDIgDOHA4 

 



[정규표현식의 이해]
-특정패턴을 가지고 문자열을 찾을 수 있다.

메타문자: 문자를 나타내는 문자
수량자: 앞 문자의 개수

정규표현식의 구조 : 패턴구분자 시작(/) + 작성할 패턴 + 패턴구분자 끝(/)+ 패턴 변경자(g)

1. 메타문자
-. : 모든 문자
[] : 대괄호 안에 들어가 있는 문자 각각을 찾음. 대괄호 안에서 ^는 not을 의미
| : or
\s: 공백,    \d: 숫자([0-9]),    \w: 영문자 모두, 숫자, 밑줄([0-9a-zA-Z])

2. 수량자
+: 앞문자가 하나 이상({1, })
*: 앞 문자가 0개 이상({0, })
{n,m}: 앞 문자가 n개 이상, m개 이하
{n, }: 앞 문자가 n개 이상
{n}: 앞 문자가 n개
? : 앞문자가 없거나 하나 있음({0,1})
?: 처음에 발견했을 때 쉬고 다시 찾음


전화번호 정규표현식 분석-메타문자와 수량자를 잘 파악하자
/\d{2,3}-?\d{3,4}-?\d{4}/g
*대괄호 밖의 ^: 찾으려는 문자열의 처음
$: 찾으려는 문자열의 끝

 

[정규 표현식의 활용]

1) 비밀번호 정규표현식

 

특수문자 / 문자 / 숫자 포함 형태의 8~15자리 이내의 암호 정규식

var regex = /^.*(?=^.{8,15}$)(?=.*\d)(?=.*[a-zA-Z])(?=.*[!@#$%^&+=]).*$/;


숫자와 문자 포함 형태의 6~12자리 이내의 암호 정규식

var regex = /^[A-Za-z0-9]{6,12}$/;

 

 

2. 이메일 정규표현식

var regExp = /^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$/i;

 

3. 핸드폰번호 정규식

var regExp = /^\d{3}-\d{3,4}-\d{4}$/;

 

4. 일반 전화번호 정규식

var regExp = /^\d{2,3}-\d{3,4}-\d{4}$/;

 

댓글