[JavaScript] 정규표현식 정리

루나·2022년 4월 30일
0

/ / = 하나만
/ /i = 대소문자 구별 안함
/ /g = 모두
정규표현식.test("문자열") : 문자열이 정규표현식에 맞으면 true
변수.match(/ /g) : 조건에 맞는 모든 값 찾기
변수.replace(/ /g, "") : 조건에 맞는 모든 값 치환

예시 문자열 : "가나다 a_bc 010-1111-5678 02 2345 9876 ABC@gmail.com"

이하 모든 설명은 / /g 기준

\d = 숫자
\D = 숫자 제외 모두
\w = 글자 대표 문자(영어, 123, _ // 한글은 안될 가능성 o)
\W = 글자 대표 문자 제외 모두(특수문자, 공백)
\s = 공백 문자(스페이스, 탭, \n)
\S = 공백 문자 제외 모두
. = 모든 문자열(숫자, 한글, 영어, 특수기호, 공백까지. 줄바꿈은 제외)

문자+ = 연결된 ~ (\d+ : 010, \w+ : 단어)
문자* = 0개 이상. ([1-9]\d* : 10, 1111)
문자? = or. 붙는게 있어도 되고 없어도 됨 (\d+-?\d+-?\d+ : 010-1111-5678, 02, 2345, 9876)

| = OR 연산자
[ ] = 안에 있는 조건중 하나라도 만족하면 (\d+[- ]?\d+[- ]?\d+ : 위에서 02 2345 9876이 떨어져있지 않은 완전한 전화번호)
[^문자] = 해당 제외 ([^\d] : 숫자 제외 모두)
^문자열 = 특정 문자로 시작하는지 (제일 처음만 해당)
문자열$ = 특정 문자로 끝나는지 (제일 마지막만 해당)
{ } = 반복 (\d{2}[- ]?\d{4}[- ]?\d{4} : 02 2345 9876)
\d{2, 3} 같은 방식으로 02와 010 둘다 확인 가능

[a-z], [A-Z], [가-힣] 방식으로 형식 구분 가능

/\d{2,3}[- ]?\d{3,4}[- ]?\d{4}/g : 한국식 전화번호
/https?:\/\/[\w-.]+/g : 주소
/[\w-.]+\@[\w-.]+/g : 이메일

profile
백엔드 개발자

0개의 댓글